Automatic date update in version.in
[external/binutils.git] / opcodes / aarch64-dis-2.c
1 /* This file is automatically generated by aarch64-gen.  Do not edit!  */
2 /* Copyright (C) 2012-2018 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                          0xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
42                          adr.  */
43                       return 1185;
44                     }
45                   else
46                     {
47                       /* 33222222222211111111110000000000
48                          10987654321098765432109876543210
49                          1xxx0000xxxxxxxxxxxxxxxxxxxxxxxx
50                          adrp.  */
51                       return 1186;
52                     }
53                 }
54               else
55                 {
56                   if (((word >> 29) & 0x1) == 0)
57                     {
58                       if (((word >> 30) & 0x1) == 0)
59                         {
60                           /* 33222222222211111111110000000000
61                              10987654321098765432109876543210
62                              x00x0001xxxxxxxxxxxxxxxxxxxxxxxx
63                              add.  */
64                           return 12;
65                         }
66                       else
67                         {
68                           /* 33222222222211111111110000000000
69                              10987654321098765432109876543210
70                              x10x0001xxxxxxxxxxxxxxxxxxxxxxxx
71                              sub.  */
72                           return 16;
73                         }
74                     }
75                   else
76                     {
77                       if (((word >> 30) & 0x1) == 0)
78                         {
79                           /* 33222222222211111111110000000000
80                              10987654321098765432109876543210
81                              x01x0001xxxxxxxxxxxxxxxxxxxxxxxx
82                              adds.  */
83                           return 14;
84                         }
85                       else
86                         {
87                           /* 33222222222211111111110000000000
88                              10987654321098765432109876543210
89                              x11x0001xxxxxxxxxxxxxxxxxxxxxxxx
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                                                  0000100x000xxxxx0xxxxxxxxxxxxxxx
117                                                  stxrb.  */
118                                               return 936;
119                                             }
120                                           else
121                                             {
122                                               /* 33222222222211111111110000000000
123                                                  10987654321098765432109876543210
124                                                  0100100x000xxxxx0xxxxxxxxxxxxxxx
125                                                  stxrh.  */
126                                               return 942;
127                                             }
128                                         }
129                                       else
130                                         {
131                                           /* 33222222222211111111110000000000
132                                              10987654321098765432109876543210
133                                              1x00100x000xxxxx0xxxxxxxxxxxxxxx
134                                              stxr.  */
135                                           return 948;
136                                         }
137                                     }
138                                   else
139                                     {
140                                       if (((word >> 31) & 0x1) == 0)
141                                         {
142                                           /* 33222222222211111111110000000000
143                                              10987654321098765432109876543210
144                                              0x00100x001xxxxx0xxxxxxxxxxxxxxx
145                                              casp.  */
146                                           return 1020;
147                                         }
148                                       else
149                                         {
150                                           /* 33222222222211111111110000000000
151                                              10987654321098765432109876543210
152                                              1x00100x001xxxxx0xxxxxxxxxxxxxxx
153                                              stxp.  */
154                                           return 950;
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                                                  0000100x000xxxxx1xxxxxxxxxxxxxxx
169                                                  stlxrb.  */
170                                               return 937;
171                                             }
172                                           else
173                                             {
174                                               /* 33222222222211111111110000000000
175                                                  10987654321098765432109876543210
176                                                  0100100x000xxxxx1xxxxxxxxxxxxxxx
177                                                  stlxrh.  */
178                                               return 943;
179                                             }
180                                         }
181                                       else
182                                         {
183                                           /* 33222222222211111111110000000000
184                                              10987654321098765432109876543210
185                                              1x00100x000xxxxx1xxxxxxxxxxxxxxx
186                                              stlxr.  */
187                                           return 949;
188                                         }
189                                     }
190                                   else
191                                     {
192                                       if (((word >> 31) & 0x1) == 0)
193                                         {
194                                           /* 33222222222211111111110000000000
195                                              10987654321098765432109876543210
196                                              0x00100x001xxxxx1xxxxxxxxxxxxxxx
197                                              caspl.  */
198                                           return 1022;
199                                         }
200                                       else
201                                         {
202                                           /* 33222222222211111111110000000000
203                                              10987654321098765432109876543210
204                                              1x00100x001xxxxx1xxxxxxxxxxxxxxx
205                                              stlxp.  */
206                                           return 951;
207                                         }
208                                     }
209                                 }
210                             }
211                           else
212                             {
213                               if (((word >> 30) & 0x1) == 0)
214                                 {
215                                   /* 33222222222211111111110000000000
216                                      10987654321098765432109876543210
217                                      x010100x00xxxxxxxxxxxxxxxxxxxxxx
218                                      stnp.  */
219                                   return 969;
220                                 }
221                               else
222                                 {
223                                   /* 33222222222211111111110000000000
224                                      10987654321098765432109876543210
225                                      x110100x00xxxxxxxxxxxxxxxxxxxxxx
226                                      stgp.  */
227                                   return 978;
228                                 }
229                             }
230                         }
231                       else
232                         {
233                           if (((word >> 29) & 0x1) == 0)
234                             {
235                               if (((word >> 15) & 0x1) == 0)
236                                 {
237                                   if (((word >> 21) & 0x1) == 0)
238                                     {
239                                       if (((word >> 31) & 0x1) == 0)
240                                         {
241                                           /* 33222222222211111111110000000000
242                                              10987654321098765432109876543210
243                                              0x00100x100xxxxx0xxxxxxxxxxxxxxx
244                                              stllrb.  */
245                                           return 967;
246                                         }
247                                       else
248                                         {
249                                           /* 33222222222211111111110000000000
250                                              10987654321098765432109876543210
251                                              1x00100x100xxxxx0xxxxxxxxxxxxxxx
252                                              stllr.  */
253                                           return 966;
254                                         }
255                                     }
256                                   else
257                                     {
258                                       if (((word >> 31) & 0x1) == 0)
259                                         {
260                                           if (((word >> 30) & 0x1) == 0)
261                                             {
262                                               /* 33222222222211111111110000000000
263                                                  10987654321098765432109876543210
264                                                  0000100x101xxxxx0xxxxxxxxxxxxxxx
265                                                  casb.  */
266                                               return 1008;
267                                             }
268                                           else
269                                             {
270                                               /* 33222222222211111111110000000000
271                                                  10987654321098765432109876543210
272                                                  0100100x101xxxxx0xxxxxxxxxxxxxxx
273                                                  cash.  */
274                                               return 1009;
275                                             }
276                                         }
277                                       else
278                                         {
279                                           /* 33222222222211111111110000000000
280                                              10987654321098765432109876543210
281                                              1x00100x101xxxxx0xxxxxxxxxxxxxxx
282                                              cas.  */
283                                           return 1010;
284                                         }
285                                     }
286                                 }
287                               else
288                                 {
289                                   if (((word >> 21) & 0x1) == 0)
290                                     {
291                                       if (((word >> 31) & 0x1) == 0)
292                                         {
293                                           if (((word >> 30) & 0x1) == 0)
294                                             {
295                                               /* 33222222222211111111110000000000
296                                                  10987654321098765432109876543210
297                                                  0000100x100xxxxx1xxxxxxxxxxxxxxx
298                                                  stlrb.  */
299                                               return 940;
300                                             }
301                                           else
302                                             {
303                                               /* 33222222222211111111110000000000
304                                                  10987654321098765432109876543210
305                                                  0100100x100xxxxx1xxxxxxxxxxxxxxx
306                                                  stlrh.  */
307                                               return 946;
308                                             }
309                                         }
310                                       else
311                                         {
312                                           /* 33222222222211111111110000000000
313                                              10987654321098765432109876543210
314                                              1x00100x100xxxxx1xxxxxxxxxxxxxxx
315                                              stlr.  */
316                                           return 956;
317                                         }
318                                     }
319                                   else
320                                     {
321                                       if (((word >> 31) & 0x1) == 0)
322                                         {
323                                           if (((word >> 30) & 0x1) == 0)
324                                             {
325                                               /* 33222222222211111111110000000000
326                                                  10987654321098765432109876543210
327                                                  0000100x101xxxxx1xxxxxxxxxxxxxxx
328                                                  caslb.  */
329                                               return 1012;
330                                             }
331                                           else
332                                             {
333                                               /* 33222222222211111111110000000000
334                                                  10987654321098765432109876543210
335                                                  0100100x101xxxxx1xxxxxxxxxxxxxxx
336                                                  caslh.  */
337                                               return 1015;
338                                             }
339                                         }
340                                       else
341                                         {
342                                           /* 33222222222211111111110000000000
343                                              10987654321098765432109876543210
344                                              1x00100x101xxxxx1xxxxxxxxxxxxxxx
345                                              casl.  */
346                                           return 1018;
347                                         }
348                                     }
349                                 }
350                             }
351                           else
352                             {
353                               if (((word >> 30) & 0x1) == 0)
354                                 {
355                                   /* 33222222222211111111110000000000
356                                      10987654321098765432109876543210
357                                      x010100x10xxxxxxxxxxxxxxxxxxxxxx
358                                      stp.  */
359                                   return 979;
360                                 }
361                               else
362                                 {
363                                   /* 33222222222211111111110000000000
364                                      10987654321098765432109876543210
365                                      x110100x10xxxxxxxxxxxxxxxxxxxxxx
366                                      stgp.  */
367                                   return 984;
368                                 }
369                             }
370                         }
371                     }
372                   else
373                     {
374                       if (((word >> 23) & 0x1) == 0)
375                         {
376                           if (((word >> 29) & 0x1) == 0)
377                             {
378                               if (((word >> 15) & 0x1) == 0)
379                                 {
380                                   if (((word >> 21) & 0x1) == 0)
381                                     {
382                                       if (((word >> 31) & 0x1) == 0)
383                                         {
384                                           if (((word >> 30) & 0x1) == 0)
385                                             {
386                                               /* 33222222222211111111110000000000
387                                                  10987654321098765432109876543210
388                                                  0000100x010xxxxx0xxxxxxxxxxxxxxx
389                                                  ldxrb.  */
390                                               return 938;
391                                             }
392                                           else
393                                             {
394                                               /* 33222222222211111111110000000000
395                                                  10987654321098765432109876543210
396                                                  0100100x010xxxxx0xxxxxxxxxxxxxxx
397                                                  ldxrh.  */
398                                               return 944;
399                                             }
400                                         }
401                                       else
402                                         {
403                                           /* 33222222222211111111110000000000
404                                              10987654321098765432109876543210
405                                              1x00100x010xxxxx0xxxxxxxxxxxxxxx
406                                              ldxr.  */
407                                           return 952;
408                                         }
409                                     }
410                                   else
411                                     {
412                                       if (((word >> 31) & 0x1) == 0)
413                                         {
414                                           /* 33222222222211111111110000000000
415                                              10987654321098765432109876543210
416                                              0x00100x011xxxxx0xxxxxxxxxxxxxxx
417                                              caspa.  */
418                                           return 1021;
419                                         }
420                                       else
421                                         {
422                                           /* 33222222222211111111110000000000
423                                              10987654321098765432109876543210
424                                              1x00100x011xxxxx0xxxxxxxxxxxxxxx
425                                              ldxp.  */
426                                           return 954;
427                                         }
428                                     }
429                                 }
430                               else
431                                 {
432                                   if (((word >> 21) & 0x1) == 0)
433                                     {
434                                       if (((word >> 31) & 0x1) == 0)
435                                         {
436                                           if (((word >> 30) & 0x1) == 0)
437                                             {
438                                               /* 33222222222211111111110000000000
439                                                  10987654321098765432109876543210
440                                                  0000100x010xxxxx1xxxxxxxxxxxxxxx
441                                                  ldaxrb.  */
442                                               return 939;
443                                             }
444                                           else
445                                             {
446                                               /* 33222222222211111111110000000000
447                                                  10987654321098765432109876543210
448                                                  0100100x010xxxxx1xxxxxxxxxxxxxxx
449                                                  ldaxrh.  */
450                                               return 945;
451                                             }
452                                         }
453                                       else
454                                         {
455                                           /* 33222222222211111111110000000000
456                                              10987654321098765432109876543210
457                                              1x00100x010xxxxx1xxxxxxxxxxxxxxx
458                                              ldaxr.  */
459                                           return 953;
460                                         }
461                                     }
462                                   else
463                                     {
464                                       if (((word >> 31) & 0x1) == 0)
465                                         {
466                                           /* 33222222222211111111110000000000
467                                              10987654321098765432109876543210
468                                              0x00100x011xxxxx1xxxxxxxxxxxxxxx
469                                              caspal.  */
470                                           return 1023;
471                                         }
472                                       else
473                                         {
474                                           /* 33222222222211111111110000000000
475                                              10987654321098765432109876543210
476                                              1x00100x011xxxxx1xxxxxxxxxxxxxxx
477                                              ldaxp.  */
478                                           return 955;
479                                         }
480                                     }
481                                 }
482                             }
483                           else
484                             {
485                               if (((word >> 30) & 0x1) == 0)
486                                 {
487                                   /* 33222222222211111111110000000000
488                                      10987654321098765432109876543210
489                                      x010100x01xxxxxxxxxxxxxxxxxxxxxx
490                                      ldnp.  */
491                                   return 970;
492                                 }
493                               else
494                                 {
495                                   /* 33222222222211111111110000000000
496                                      10987654321098765432109876543210
497                                      x110100x01xxxxxxxxxxxxxxxxxxxxxx
498                                      ldpsw.  */
499                                   return 977;
500                                 }
501                             }
502                         }
503                       else
504                         {
505                           if (((word >> 29) & 0x1) == 0)
506                             {
507                               if (((word >> 15) & 0x1) == 0)
508                                 {
509                                   if (((word >> 21) & 0x1) == 0)
510                                     {
511                                       if (((word >> 31) & 0x1) == 0)
512                                         {
513                                           if (((word >> 30) & 0x1) == 0)
514                                             {
515                                               /* 33222222222211111111110000000000
516                                                  10987654321098765432109876543210
517                                                  0000100x110xxxxx0xxxxxxxxxxxxxxx
518                                                  ldlarb.  */
519                                               return 964;
520                                             }
521                                           else
522                                             {
523                                               /* 33222222222211111111110000000000
524                                                  10987654321098765432109876543210
525                                                  0100100x110xxxxx0xxxxxxxxxxxxxxx
526                                                  ldlarh.  */
527                                               return 965;
528                                             }
529                                         }
530                                       else
531                                         {
532                                           /* 33222222222211111111110000000000
533                                              10987654321098765432109876543210
534                                              1x00100x110xxxxx0xxxxxxxxxxxxxxx
535                                              ldlar.  */
536                                           return 963;
537                                         }
538                                     }
539                                   else
540                                     {
541                                       if (((word >> 31) & 0x1) == 0)
542                                         {
543                                           if (((word >> 30) & 0x1) == 0)
544                                             {
545                                               /* 33222222222211111111110000000000
546                                                  10987654321098765432109876543210
547                                                  0000100x111xxxxx0xxxxxxxxxxxxxxx
548                                                  casab.  */
549                                               return 1011;
550                                             }
551                                           else
552                                             {
553                                               /* 33222222222211111111110000000000
554                                                  10987654321098765432109876543210
555                                                  0100100x111xxxxx0xxxxxxxxxxxxxxx
556                                                  casah.  */
557                                               return 1014;
558                                             }
559                                         }
560                                       else
561                                         {
562                                           /* 33222222222211111111110000000000
563                                              10987654321098765432109876543210
564                                              1x00100x111xxxxx0xxxxxxxxxxxxxxx
565                                              casa.  */
566                                           return 1017;
567                                         }
568                                     }
569                                 }
570                               else
571                                 {
572                                   if (((word >> 21) & 0x1) == 0)
573                                     {
574                                       if (((word >> 31) & 0x1) == 0)
575                                         {
576                                           if (((word >> 30) & 0x1) == 0)
577                                             {
578                                               /* 33222222222211111111110000000000
579                                                  10987654321098765432109876543210
580                                                  0000100x110xxxxx1xxxxxxxxxxxxxxx
581                                                  ldarb.  */
582                                               return 941;
583                                             }
584                                           else
585                                             {
586                                               /* 33222222222211111111110000000000
587                                                  10987654321098765432109876543210
588                                                  0100100x110xxxxx1xxxxxxxxxxxxxxx
589                                                  ldarh.  */
590                                               return 947;
591                                             }
592                                         }
593                                       else
594                                         {
595                                           /* 33222222222211111111110000000000
596                                              10987654321098765432109876543210
597                                              1x00100x110xxxxx1xxxxxxxxxxxxxxx
598                                              ldar.  */
599                                           return 957;
600                                         }
601                                     }
602                                   else
603                                     {
604                                       if (((word >> 31) & 0x1) == 0)
605                                         {
606                                           if (((word >> 30) & 0x1) == 0)
607                                             {
608                                               /* 33222222222211111111110000000000
609                                                  10987654321098765432109876543210
610                                                  0000100x111xxxxx1xxxxxxxxxxxxxxx
611                                                  casalb.  */
612                                               return 1013;
613                                             }
614                                           else
615                                             {
616                                               /* 33222222222211111111110000000000
617                                                  10987654321098765432109876543210
618                                                  0100100x111xxxxx1xxxxxxxxxxxxxxx
619                                                  casalh.  */
620                                               return 1016;
621                                             }
622                                         }
623                                       else
624                                         {
625                                           /* 33222222222211111111110000000000
626                                              10987654321098765432109876543210
627                                              1x00100x111xxxxx1xxxxxxxxxxxxxxx
628                                              casal.  */
629                                           return 1019;
630                                         }
631                                     }
632                                 }
633                             }
634                           else
635                             {
636                               if (((word >> 30) & 0x1) == 0)
637                                 {
638                                   /* 33222222222211111111110000000000
639                                      10987654321098765432109876543210
640                                      x010100x11xxxxxxxxxxxxxxxxxxxxxx
641                                      ldp.  */
642                                   return 980;
643                                 }
644                               else
645                                 {
646                                   /* 33222222222211111111110000000000
647                                      10987654321098765432109876543210
648                                      x110100x11xxxxxxxxxxxxxxxxxxxxxx
649                                      ldpsw.  */
650                                   return 983;
651                                 }
652                             }
653                         }
654                     }
655                 }
656               else
657                 {
658                   if (((word >> 24) & 0x1) == 0)
659                     {
660                       if (((word >> 29) & 0x1) == 0)
661                         {
662                           if (((word >> 31) & 0x1) == 0)
663                             {
664                               /* 33222222222211111111110000000000
665                                  10987654321098765432109876543210
666                                  0x011000xxxxxxxxxxxxxxxxxxxxxxxx
667                                  ldr.  */
668                               return 985;
669                             }
670                           else
671                             {
672                               if (((word >> 30) & 0x1) == 0)
673                                 {
674                                   /* 33222222222211111111110000000000
675                                      10987654321098765432109876543210
676                                      10011000xxxxxxxxxxxxxxxxxxxxxxxx
677                                      ldrsw.  */
678                                   return 987;
679                                 }
680                               else
681                                 {
682                                   /* 33222222222211111111110000000000
683                                      10987654321098765432109876543210
684                                      11011000xxxxxxxxxxxxxxxxxxxxxxxx
685                                      prfm.  */
686                                   return 988;
687                                 }
688                             }
689                         }
690                       else
691                         {
692                           if (((word >> 10) & 0x1) == 0)
693                             {
694                               if (((word >> 11) & 0x1) == 0)
695                                 {
696                                   if (((word >> 21) & 0x1) == 0)
697                                     {
698                                       if (((word >> 23) & 0x1) == 0)
699                                         {
700                                           if (((word >> 22) & 0x1) == 0)
701                                             {
702                                               if (((word >> 31) & 0x1) == 0)
703                                                 {
704                                                   if (((word >> 30) & 0x1) == 0)
705                                                     {
706                                                       /* 33222222222211111111110000000000
707                                                          10987654321098765432109876543210
708                                                          00111000000xxxxxxxxx00xxxxxxxxxx
709                                                          sturb.  */
710                                                       return 921;
711                                                     }
712                                                   else
713                                                     {
714                                                       /* 33222222222211111111110000000000
715                                                          10987654321098765432109876543210
716                                                          01111000000xxxxxxxxx00xxxxxxxxxx
717                                                          sturh.  */
718                                                       return 926;
719                                                     }
720                                                 }
721                                               else
722                                                 {
723                                                   /* 33222222222211111111110000000000
724                                                      10987654321098765432109876543210
725                                                      1x111000000xxxxxxxxx00xxxxxxxxxx
726                                                      stur.  */
727                                                   return 929;
728                                                 }
729                                             }
730                                           else
731                                             {
732                                               if (((word >> 31) & 0x1) == 0)
733                                                 {
734                                                   if (((word >> 30) & 0x1) == 0)
735                                                     {
736                                                       /* 33222222222211111111110000000000
737                                                          10987654321098765432109876543210
738                                                          00111000010xxxxxxxxx00xxxxxxxxxx
739                                                          ldurb.  */
740                                                       return 922;
741                                                     }
742                                                   else
743                                                     {
744                                                       /* 33222222222211111111110000000000
745                                                          10987654321098765432109876543210
746                                                          01111000010xxxxxxxxx00xxxxxxxxxx
747                                                          ldurh.  */
748                                                       return 927;
749                                                     }
750                                                 }
751                                               else
752                                                 {
753                                                   /* 33222222222211111111110000000000
754                                                      10987654321098765432109876543210
755                                                      1x111000010xxxxxxxxx00xxxxxxxxxx
756                                                      ldur.  */
757                                                   return 930;
758                                                 }
759                                             }
760                                         }
761                                       else
762                                         {
763                                           if (((word >> 30) & 0x1) == 0)
764                                             {
765                                               if (((word >> 31) & 0x1) == 0)
766                                                 {
767                                                   /* 33222222222211111111110000000000
768                                                      10987654321098765432109876543210
769                                                      001110001x0xxxxxxxxx00xxxxxxxxxx
770                                                      ldursb.  */
771                                                   return 923;
772                                                 }
773                                               else
774                                                 {
775                                                   /* 33222222222211111111110000000000
776                                                      10987654321098765432109876543210
777                                                      101110001x0xxxxxxxxx00xxxxxxxxxx
778                                                      ldursw.  */
779                                                   return 931;
780                                                 }
781                                             }
782                                           else
783                                             {
784                                               if (((word >> 31) & 0x1) == 0)
785                                                 {
786                                                   /* 33222222222211111111110000000000
787                                                      10987654321098765432109876543210
788                                                      011110001x0xxxxxxxxx00xxxxxxxxxx
789                                                      ldursh.  */
790                                                   return 928;
791                                                 }
792                                               else
793                                                 {
794                                                   /* 33222222222211111111110000000000
795                                                      10987654321098765432109876543210
796                                                      111110001x0xxxxxxxxx00xxxxxxxxxx
797                                                      prfum.  */
798                                                   return 932;
799                                                 }
800                                             }
801                                         }
802                                     }
803                                   else
804                                     {
805                                       if (((word >> 12) & 0x1) == 0)
806                                         {
807                                           if (((word >> 13) & 0x1) == 0)
808                                             {
809                                               if (((word >> 14) & 0x1) == 0)
810                                                 {
811                                                   if (((word >> 15) & 0x1) == 0)
812                                                     {
813                                                       if (((word >> 22) & 0x1) == 0)
814                                                         {
815                                                           if (((word >> 23) & 0x1) == 0)
816                                                             {
817                                                               if (((word >> 31) & 0x1) == 0)
818                                                                 {
819                                                                   if (((word >> 30) & 0x1) == 0)
820                                                                     {
821                                                                       /* 33222222222211111111110000000000
822                                                                          10987654321098765432109876543210
823                                                                          00111000001xxxxx000000xxxxxxxxxx
824                                                                          ldaddb.  */
825                                                                       return 1036;
826                                                                     }
827                                                                   else
828                                                                     {
829                                                                       /* 33222222222211111111110000000000
830                                                                          10987654321098765432109876543210
831                                                                          01111000001xxxxx000000xxxxxxxxxx
832                                                                          ldaddh.  */
833                                                                       return 1037;
834                                                                     }
835                                                                 }
836                                                               else
837                                                                 {
838                                                                   /* 33222222222211111111110000000000
839                                                                      10987654321098765432109876543210
840                                                                      1x111000001xxxxx000000xxxxxxxxxx
841                                                                      ldadd.  */
842                                                                   return 1038;
843                                                                 }
844                                                             }
845                                                           else
846                                                             {
847                                                               if (((word >> 31) & 0x1) == 0)
848                                                                 {
849                                                                   if (((word >> 30) & 0x1) == 0)
850                                                                     {
851                                                                       /* 33222222222211111111110000000000
852                                                                          10987654321098765432109876543210
853                                                                          00111000101xxxxx000000xxxxxxxxxx
854                                                                          ldaddab.  */
855                                                                       return 1039;
856                                                                     }
857                                                                   else
858                                                                     {
859                                                                       /* 33222222222211111111110000000000
860                                                                          10987654321098765432109876543210
861                                                                          01111000101xxxxx000000xxxxxxxxxx
862                                                                          ldaddah.  */
863                                                                       return 1042;
864                                                                     }
865                                                                 }
866                                                               else
867                                                                 {
868                                                                   /* 33222222222211111111110000000000
869                                                                      10987654321098765432109876543210
870                                                                      1x111000101xxxxx000000xxxxxxxxxx
871                                                                      ldadda.  */
872                                                                   return 1045;
873                                                                 }
874                                                             }
875                                                         }
876                                                       else
877                                                         {
878                                                           if (((word >> 23) & 0x1) == 0)
879                                                             {
880                                                               if (((word >> 31) & 0x1) == 0)
881                                                                 {
882                                                                   if (((word >> 30) & 0x1) == 0)
883                                                                     {
884                                                                       /* 33222222222211111111110000000000
885                                                                          10987654321098765432109876543210
886                                                                          00111000011xxxxx000000xxxxxxxxxx
887                                                                          ldaddlb.  */
888                                                                       return 1040;
889                                                                     }
890                                                                   else
891                                                                     {
892                                                                       /* 33222222222211111111110000000000
893                                                                          10987654321098765432109876543210
894                                                                          01111000011xxxxx000000xxxxxxxxxx
895                                                                          ldaddlh.  */
896                                                                       return 1043;
897                                                                     }
898                                                                 }
899                                                               else
900                                                                 {
901                                                                   /* 33222222222211111111110000000000
902                                                                      10987654321098765432109876543210
903                                                                      1x111000011xxxxx000000xxxxxxxxxx
904                                                                      ldaddl.  */
905                                                                   return 1046;
906                                                                 }
907                                                             }
908                                                           else
909                                                             {
910                                                               if (((word >> 31) & 0x1) == 0)
911                                                                 {
912                                                                   if (((word >> 30) & 0x1) == 0)
913                                                                     {
914                                                                       /* 33222222222211111111110000000000
915                                                                          10987654321098765432109876543210
916                                                                          00111000111xxxxx000000xxxxxxxxxx
917                                                                          ldaddalb.  */
918                                                                       return 1041;
919                                                                     }
920                                                                   else
921                                                                     {
922                                                                       /* 33222222222211111111110000000000
923                                                                          10987654321098765432109876543210
924                                                                          01111000111xxxxx000000xxxxxxxxxx
925                                                                          ldaddalh.  */
926                                                                       return 1044;
927                                                                     }
928                                                                 }
929                                                               else
930                                                                 {
931                                                                   /* 33222222222211111111110000000000
932                                                                      10987654321098765432109876543210
933                                                                      1x111000111xxxxx000000xxxxxxxxxx
934                                                                      ldaddal.  */
935                                                                   return 1047;
936                                                                 }
937                                                             }
938                                                         }
939                                                     }
940                                                   else
941                                                     {
942                                                       if (((word >> 22) & 0x1) == 0)
943                                                         {
944                                                           if (((word >> 23) & 0x1) == 0)
945                                                             {
946                                                               if (((word >> 31) & 0x1) == 0)
947                                                                 {
948                                                                   if (((word >> 30) & 0x1) == 0)
949                                                                     {
950                                                                       /* 33222222222211111111110000000000
951                                                                          10987654321098765432109876543210
952                                                                          00111000001xxxxx100000xxxxxxxxxx
953                                                                          swpb.  */
954                                                                       return 1024;
955                                                                     }
956                                                                   else
957                                                                     {
958                                                                       /* 33222222222211111111110000000000
959                                                                          10987654321098765432109876543210
960                                                                          01111000001xxxxx100000xxxxxxxxxx
961                                                                          swph.  */
962                                                                       return 1025;
963                                                                     }
964                                                                 }
965                                                               else
966                                                                 {
967                                                                   /* 33222222222211111111110000000000
968                                                                      10987654321098765432109876543210
969                                                                      1x111000001xxxxx100000xxxxxxxxxx
970                                                                      swp.  */
971                                                                   return 1026;
972                                                                 }
973                                                             }
974                                                           else
975                                                             {
976                                                               if (((word >> 31) & 0x1) == 0)
977                                                                 {
978                                                                   if (((word >> 30) & 0x1) == 0)
979                                                                     {
980                                                                       /* 33222222222211111111110000000000
981                                                                          10987654321098765432109876543210
982                                                                          00111000101xxxxx100000xxxxxxxxxx
983                                                                          swpab.  */
984                                                                       return 1027;
985                                                                     }
986                                                                   else
987                                                                     {
988                                                                       /* 33222222222211111111110000000000
989                                                                          10987654321098765432109876543210
990                                                                          01111000101xxxxx100000xxxxxxxxxx
991                                                                          swpah.  */
992                                                                       return 1030;
993                                                                     }
994                                                                 }
995                                                               else
996                                                                 {
997                                                                   /* 33222222222211111111110000000000
998                                                                      10987654321098765432109876543210
999                                                                      1x111000101xxxxx100000xxxxxxxxxx
1000                                                                      swpa.  */
1001                                                                   return 1033;
1002                                                                 }
1003                                                             }
1004                                                         }
1005                                                       else
1006                                                         {
1007                                                           if (((word >> 23) & 0x1) == 0)
1008                                                             {
1009                                                               if (((word >> 31) & 0x1) == 0)
1010                                                                 {
1011                                                                   if (((word >> 30) & 0x1) == 0)
1012                                                                     {
1013                                                                       /* 33222222222211111111110000000000
1014                                                                          10987654321098765432109876543210
1015                                                                          00111000011xxxxx100000xxxxxxxxxx
1016                                                                          swplb.  */
1017                                                                       return 1028;
1018                                                                     }
1019                                                                   else
1020                                                                     {
1021                                                                       /* 33222222222211111111110000000000
1022                                                                          10987654321098765432109876543210
1023                                                                          01111000011xxxxx100000xxxxxxxxxx
1024                                                                          swplh.  */
1025                                                                       return 1031;
1026                                                                     }
1027                                                                 }
1028                                                               else
1029                                                                 {
1030                                                                   /* 33222222222211111111110000000000
1031                                                                      10987654321098765432109876543210
1032                                                                      1x111000011xxxxx100000xxxxxxxxxx
1033                                                                      swpl.  */
1034                                                                   return 1034;
1035                                                                 }
1036                                                             }
1037                                                           else
1038                                                             {
1039                                                               if (((word >> 31) & 0x1) == 0)
1040                                                                 {
1041                                                                   if (((word >> 30) & 0x1) == 0)
1042                                                                     {
1043                                                                       /* 33222222222211111111110000000000
1044                                                                          10987654321098765432109876543210
1045                                                                          00111000111xxxxx100000xxxxxxxxxx
1046                                                                          swpalb.  */
1047                                                                       return 1029;
1048                                                                     }
1049                                                                   else
1050                                                                     {
1051                                                                       /* 33222222222211111111110000000000
1052                                                                          10987654321098765432109876543210
1053                                                                          01111000111xxxxx100000xxxxxxxxxx
1054                                                                          swpalh.  */
1055                                                                       return 1032;
1056                                                                     }
1057                                                                 }
1058                                                               else
1059                                                                 {
1060                                                                   /* 33222222222211111111110000000000
1061                                                                      10987654321098765432109876543210
1062                                                                      1x111000111xxxxx100000xxxxxxxxxx
1063                                                                      swpal.  */
1064                                                                   return 1035;
1065                                                                 }
1066                                                             }
1067                                                         }
1068                                                     }
1069                                                 }
1070                                               else
1071                                                 {
1072                                                   if (((word >> 15) & 0x1) == 0)
1073                                                     {
1074                                                       if (((word >> 22) & 0x1) == 0)
1075                                                         {
1076                                                           if (((word >> 23) & 0x1) == 0)
1077                                                             {
1078                                                               if (((word >> 31) & 0x1) == 0)
1079                                                                 {
1080                                                                   if (((word >> 30) & 0x1) == 0)
1081                                                                     {
1082                                                                       /* 33222222222211111111110000000000
1083                                                                          10987654321098765432109876543210
1084                                                                          00111000001xxxxx010000xxxxxxxxxx
1085                                                                          ldsmaxb.  */
1086                                                                       return 1084;
1087                                                                     }
1088                                                                   else
1089                                                                     {
1090                                                                       /* 33222222222211111111110000000000
1091                                                                          10987654321098765432109876543210
1092                                                                          01111000001xxxxx010000xxxxxxxxxx
1093                                                                          ldsmaxh.  */
1094                                                                       return 1085;
1095                                                                     }
1096                                                                 }
1097                                                               else
1098                                                                 {
1099                                                                   /* 33222222222211111111110000000000
1100                                                                      10987654321098765432109876543210
1101                                                                      1x111000001xxxxx010000xxxxxxxxxx
1102                                                                      ldsmax.  */
1103                                                                   return 1086;
1104                                                                 }
1105                                                             }
1106                                                           else
1107                                                             {
1108                                                               if (((word >> 31) & 0x1) == 0)
1109                                                                 {
1110                                                                   if (((word >> 30) & 0x1) == 0)
1111                                                                     {
1112                                                                       /* 33222222222211111111110000000000
1113                                                                          10987654321098765432109876543210
1114                                                                          00111000101xxxxx010000xxxxxxxxxx
1115                                                                          ldsmaxab.  */
1116                                                                       return 1087;
1117                                                                     }
1118                                                                   else
1119                                                                     {
1120                                                                       /* 33222222222211111111110000000000
1121                                                                          10987654321098765432109876543210
1122                                                                          01111000101xxxxx010000xxxxxxxxxx
1123                                                                          ldsmaxah.  */
1124                                                                       return 1090;
1125                                                                     }
1126                                                                 }
1127                                                               else
1128                                                                 {
1129                                                                   /* 33222222222211111111110000000000
1130                                                                      10987654321098765432109876543210
1131                                                                      1x111000101xxxxx010000xxxxxxxxxx
1132                                                                      ldsmaxa.  */
1133                                                                   return 1093;
1134                                                                 }
1135                                                             }
1136                                                         }
1137                                                       else
1138                                                         {
1139                                                           if (((word >> 23) & 0x1) == 0)
1140                                                             {
1141                                                               if (((word >> 31) & 0x1) == 0)
1142                                                                 {
1143                                                                   if (((word >> 30) & 0x1) == 0)
1144                                                                     {
1145                                                                       /* 33222222222211111111110000000000
1146                                                                          10987654321098765432109876543210
1147                                                                          00111000011xxxxx010000xxxxxxxxxx
1148                                                                          ldsmaxlb.  */
1149                                                                       return 1088;
1150                                                                     }
1151                                                                   else
1152                                                                     {
1153                                                                       /* 33222222222211111111110000000000
1154                                                                          10987654321098765432109876543210
1155                                                                          01111000011xxxxx010000xxxxxxxxxx
1156                                                                          ldsmaxlh.  */
1157                                                                       return 1091;
1158                                                                     }
1159                                                                 }
1160                                                               else
1161                                                                 {
1162                                                                   /* 33222222222211111111110000000000
1163                                                                      10987654321098765432109876543210
1164                                                                      1x111000011xxxxx010000xxxxxxxxxx
1165                                                                      ldsmaxl.  */
1166                                                                   return 1094;
1167                                                                 }
1168                                                             }
1169                                                           else
1170                                                             {
1171                                                               if (((word >> 31) & 0x1) == 0)
1172                                                                 {
1173                                                                   if (((word >> 30) & 0x1) == 0)
1174                                                                     {
1175                                                                       /* 33222222222211111111110000000000
1176                                                                          10987654321098765432109876543210
1177                                                                          00111000111xxxxx010000xxxxxxxxxx
1178                                                                          ldsmaxalb.  */
1179                                                                       return 1089;
1180                                                                     }
1181                                                                   else
1182                                                                     {
1183                                                                       /* 33222222222211111111110000000000
1184                                                                          10987654321098765432109876543210
1185                                                                          01111000111xxxxx010000xxxxxxxxxx
1186                                                                          ldsmaxalh.  */
1187                                                                       return 1092;
1188                                                                     }
1189                                                                 }
1190                                                               else
1191                                                                 {
1192                                                                   /* 33222222222211111111110000000000
1193                                                                      10987654321098765432109876543210
1194                                                                      1x111000111xxxxx010000xxxxxxxxxx
1195                                                                      ldsmaxal.  */
1196                                                                   return 1095;
1197                                                                 }
1198                                                             }
1199                                                         }
1200                                                     }
1201                                                   else
1202                                                     {
1203                                                       if (((word >> 31) & 0x1) == 0)
1204                                                         {
1205                                                           if (((word >> 30) & 0x1) == 0)
1206                                                             {
1207                                                               /* 33222222222211111111110000000000
1208                                                                  10987654321098765432109876543210
1209                                                                  00111000xx1xxxxx110000xxxxxxxxxx
1210                                                                  ldaprb.  */
1211                                                               return 958;
1212                                                             }
1213                                                           else
1214                                                             {
1215                                                               /* 33222222222211111111110000000000
1216                                                                  10987654321098765432109876543210
1217                                                                  01111000xx1xxxxx110000xxxxxxxxxx
1218                                                                  ldaprh.  */
1219                                                               return 959;
1220                                                             }
1221                                                         }
1222                                                       else
1223                                                         {
1224                                                           /* 33222222222211111111110000000000
1225                                                              10987654321098765432109876543210
1226                                                              1x111000xx1xxxxx110000xxxxxxxxxx
1227                                                              ldapr.  */
1228                                                           return 960;
1229                                                         }
1230                                                     }
1231                                                 }
1232                                             }
1233                                           else
1234                                             {
1235                                               if (((word >> 14) & 0x1) == 0)
1236                                                 {
1237                                                   if (((word >> 22) & 0x1) == 0)
1238                                                     {
1239                                                       if (((word >> 23) & 0x1) == 0)
1240                                                         {
1241                                                           if (((word >> 31) & 0x1) == 0)
1242                                                             {
1243                                                               if (((word >> 30) & 0x1) == 0)
1244                                                                 {
1245                                                                   /* 33222222222211111111110000000000
1246                                                                      10987654321098765432109876543210
1247                                                                      00111000001xxxxxx01000xxxxxxxxxx
1248                                                                      ldeorb.  */
1249                                                                   return 1060;
1250                                                                 }
1251                                                               else
1252                                                                 {
1253                                                                   /* 33222222222211111111110000000000
1254                                                                      10987654321098765432109876543210
1255                                                                      01111000001xxxxxx01000xxxxxxxxxx
1256                                                                      ldeorh.  */
1257                                                                   return 1061;
1258                                                                 }
1259                                                             }
1260                                                           else
1261                                                             {
1262                                                               /* 33222222222211111111110000000000
1263                                                                  10987654321098765432109876543210
1264                                                                  1x111000001xxxxxx01000xxxxxxxxxx
1265                                                                  ldeor.  */
1266                                                               return 1062;
1267                                                             }
1268                                                         }
1269                                                       else
1270                                                         {
1271                                                           if (((word >> 31) & 0x1) == 0)
1272                                                             {
1273                                                               if (((word >> 30) & 0x1) == 0)
1274                                                                 {
1275                                                                   /* 33222222222211111111110000000000
1276                                                                      10987654321098765432109876543210
1277                                                                      00111000101xxxxxx01000xxxxxxxxxx
1278                                                                      ldeorab.  */
1279                                                                   return 1063;
1280                                                                 }
1281                                                               else
1282                                                                 {
1283                                                                   /* 33222222222211111111110000000000
1284                                                                      10987654321098765432109876543210
1285                                                                      01111000101xxxxxx01000xxxxxxxxxx
1286                                                                      ldeorah.  */
1287                                                                   return 1066;
1288                                                                 }
1289                                                             }
1290                                                           else
1291                                                             {
1292                                                               /* 33222222222211111111110000000000
1293                                                                  10987654321098765432109876543210
1294                                                                  1x111000101xxxxxx01000xxxxxxxxxx
1295                                                                  ldeora.  */
1296                                                               return 1069;
1297                                                             }
1298                                                         }
1299                                                     }
1300                                                   else
1301                                                     {
1302                                                       if (((word >> 23) & 0x1) == 0)
1303                                                         {
1304                                                           if (((word >> 31) & 0x1) == 0)
1305                                                             {
1306                                                               if (((word >> 30) & 0x1) == 0)
1307                                                                 {
1308                                                                   /* 33222222222211111111110000000000
1309                                                                      10987654321098765432109876543210
1310                                                                      00111000011xxxxxx01000xxxxxxxxxx
1311                                                                      ldeorlb.  */
1312                                                                   return 1064;
1313                                                                 }
1314                                                               else
1315                                                                 {
1316                                                                   /* 33222222222211111111110000000000
1317                                                                      10987654321098765432109876543210
1318                                                                      01111000011xxxxxx01000xxxxxxxxxx
1319                                                                      ldeorlh.  */
1320                                                                   return 1067;
1321                                                                 }
1322                                                             }
1323                                                           else
1324                                                             {
1325                                                               /* 33222222222211111111110000000000
1326                                                                  10987654321098765432109876543210
1327                                                                  1x111000011xxxxxx01000xxxxxxxxxx
1328                                                                  ldeorl.  */
1329                                                               return 1070;
1330                                                             }
1331                                                         }
1332                                                       else
1333                                                         {
1334                                                           if (((word >> 31) & 0x1) == 0)
1335                                                             {
1336                                                               if (((word >> 30) & 0x1) == 0)
1337                                                                 {
1338                                                                   /* 33222222222211111111110000000000
1339                                                                      10987654321098765432109876543210
1340                                                                      00111000111xxxxxx01000xxxxxxxxxx
1341                                                                      ldeoralb.  */
1342                                                                   return 1065;
1343                                                                 }
1344                                                               else
1345                                                                 {
1346                                                                   /* 33222222222211111111110000000000
1347                                                                      10987654321098765432109876543210
1348                                                                      01111000111xxxxxx01000xxxxxxxxxx
1349                                                                      ldeoralh.  */
1350                                                                   return 1068;
1351                                                                 }
1352                                                             }
1353                                                           else
1354                                                             {
1355                                                               /* 33222222222211111111110000000000
1356                                                                  10987654321098765432109876543210
1357                                                                  1x111000111xxxxxx01000xxxxxxxxxx
1358                                                                  ldeoral.  */
1359                                                               return 1071;
1360                                                             }
1361                                                         }
1362                                                     }
1363                                                 }
1364                                               else
1365                                                 {
1366                                                   if (((word >> 22) & 0x1) == 0)
1367                                                     {
1368                                                       if (((word >> 23) & 0x1) == 0)
1369                                                         {
1370                                                           if (((word >> 31) & 0x1) == 0)
1371                                                             {
1372                                                               if (((word >> 30) & 0x1) == 0)
1373                                                                 {
1374                                                                   /* 33222222222211111111110000000000
1375                                                                      10987654321098765432109876543210
1376                                                                      00111000001xxxxxx11000xxxxxxxxxx
1377                                                                      ldumaxb.  */
1378                                                                   return 1108;
1379                                                                 }
1380                                                               else
1381                                                                 {
1382                                                                   /* 33222222222211111111110000000000
1383                                                                      10987654321098765432109876543210
1384                                                                      01111000001xxxxxx11000xxxxxxxxxx
1385                                                                      ldumaxh.  */
1386                                                                   return 1109;
1387                                                                 }
1388                                                             }
1389                                                           else
1390                                                             {
1391                                                               /* 33222222222211111111110000000000
1392                                                                  10987654321098765432109876543210
1393                                                                  1x111000001xxxxxx11000xxxxxxxxxx
1394                                                                  ldumax.  */
1395                                                               return 1110;
1396                                                             }
1397                                                         }
1398                                                       else
1399                                                         {
1400                                                           if (((word >> 31) & 0x1) == 0)
1401                                                             {
1402                                                               if (((word >> 30) & 0x1) == 0)
1403                                                                 {
1404                                                                   /* 33222222222211111111110000000000
1405                                                                      10987654321098765432109876543210
1406                                                                      00111000101xxxxxx11000xxxxxxxxxx
1407                                                                      ldumaxab.  */
1408                                                                   return 1111;
1409                                                                 }
1410                                                               else
1411                                                                 {
1412                                                                   /* 33222222222211111111110000000000
1413                                                                      10987654321098765432109876543210
1414                                                                      01111000101xxxxxx11000xxxxxxxxxx
1415                                                                      ldumaxah.  */
1416                                                                   return 1114;
1417                                                                 }
1418                                                             }
1419                                                           else
1420                                                             {
1421                                                               /* 33222222222211111111110000000000
1422                                                                  10987654321098765432109876543210
1423                                                                  1x111000101xxxxxx11000xxxxxxxxxx
1424                                                                  ldumaxa.  */
1425                                                               return 1117;
1426                                                             }
1427                                                         }
1428                                                     }
1429                                                   else
1430                                                     {
1431                                                       if (((word >> 23) & 0x1) == 0)
1432                                                         {
1433                                                           if (((word >> 31) & 0x1) == 0)
1434                                                             {
1435                                                               if (((word >> 30) & 0x1) == 0)
1436                                                                 {
1437                                                                   /* 33222222222211111111110000000000
1438                                                                      10987654321098765432109876543210
1439                                                                      00111000011xxxxxx11000xxxxxxxxxx
1440                                                                      ldumaxlb.  */
1441                                                                   return 1112;
1442                                                                 }
1443                                                               else
1444                                                                 {
1445                                                                   /* 33222222222211111111110000000000
1446                                                                      10987654321098765432109876543210
1447                                                                      01111000011xxxxxx11000xxxxxxxxxx
1448                                                                      ldumaxlh.  */
1449                                                                   return 1115;
1450                                                                 }
1451                                                             }
1452                                                           else
1453                                                             {
1454                                                               /* 33222222222211111111110000000000
1455                                                                  10987654321098765432109876543210
1456                                                                  1x111000011xxxxxx11000xxxxxxxxxx
1457                                                                  ldumaxl.  */
1458                                                               return 1118;
1459                                                             }
1460                                                         }
1461                                                       else
1462                                                         {
1463                                                           if (((word >> 31) & 0x1) == 0)
1464                                                             {
1465                                                               if (((word >> 30) & 0x1) == 0)
1466                                                                 {
1467                                                                   /* 33222222222211111111110000000000
1468                                                                      10987654321098765432109876543210
1469                                                                      00111000111xxxxxx11000xxxxxxxxxx
1470                                                                      ldumaxalb.  */
1471                                                                   return 1113;
1472                                                                 }
1473                                                               else
1474                                                                 {
1475                                                                   /* 33222222222211111111110000000000
1476                                                                      10987654321098765432109876543210
1477                                                                      01111000111xxxxxx11000xxxxxxxxxx
1478                                                                      ldumaxalh.  */
1479                                                                   return 1116;
1480                                                                 }
1481                                                             }
1482                                                           else
1483                                                             {
1484                                                               /* 33222222222211111111110000000000
1485                                                                  10987654321098765432109876543210
1486                                                                  1x111000111xxxxxx11000xxxxxxxxxx
1487                                                                  ldumaxal.  */
1488                                                               return 1119;
1489                                                             }
1490                                                         }
1491                                                     }
1492                                                 }
1493                                             }
1494                                         }
1495                                       else
1496                                         {
1497                                           if (((word >> 13) & 0x1) == 0)
1498                                             {
1499                                               if (((word >> 14) & 0x1) == 0)
1500                                                 {
1501                                                   if (((word >> 22) & 0x1) == 0)
1502                                                     {
1503                                                       if (((word >> 23) & 0x1) == 0)
1504                                                         {
1505                                                           if (((word >> 31) & 0x1) == 0)
1506                                                             {
1507                                                               if (((word >> 30) & 0x1) == 0)
1508                                                                 {
1509                                                                   /* 33222222222211111111110000000000
1510                                                                      10987654321098765432109876543210
1511                                                                      00111000001xxxxxx00100xxxxxxxxxx
1512                                                                      ldclrb.  */
1513                                                                   return 1048;
1514                                                                 }
1515                                                               else
1516                                                                 {
1517                                                                   /* 33222222222211111111110000000000
1518                                                                      10987654321098765432109876543210
1519                                                                      01111000001xxxxxx00100xxxxxxxxxx
1520                                                                      ldclrh.  */
1521                                                                   return 1049;
1522                                                                 }
1523                                                             }
1524                                                           else
1525                                                             {
1526                                                               /* 33222222222211111111110000000000
1527                                                                  10987654321098765432109876543210
1528                                                                  1x111000001xxxxxx00100xxxxxxxxxx
1529                                                                  ldclr.  */
1530                                                               return 1050;
1531                                                             }
1532                                                         }
1533                                                       else
1534                                                         {
1535                                                           if (((word >> 31) & 0x1) == 0)
1536                                                             {
1537                                                               if (((word >> 30) & 0x1) == 0)
1538                                                                 {
1539                                                                   /* 33222222222211111111110000000000
1540                                                                      10987654321098765432109876543210
1541                                                                      00111000101xxxxxx00100xxxxxxxxxx
1542                                                                      ldclrab.  */
1543                                                                   return 1051;
1544                                                                 }
1545                                                               else
1546                                                                 {
1547                                                                   /* 33222222222211111111110000000000
1548                                                                      10987654321098765432109876543210
1549                                                                      01111000101xxxxxx00100xxxxxxxxxx
1550                                                                      ldclrah.  */
1551                                                                   return 1054;
1552                                                                 }
1553                                                             }
1554                                                           else
1555                                                             {
1556                                                               /* 33222222222211111111110000000000
1557                                                                  10987654321098765432109876543210
1558                                                                  1x111000101xxxxxx00100xxxxxxxxxx
1559                                                                  ldclra.  */
1560                                                               return 1057;
1561                                                             }
1562                                                         }
1563                                                     }
1564                                                   else
1565                                                     {
1566                                                       if (((word >> 23) & 0x1) == 0)
1567                                                         {
1568                                                           if (((word >> 31) & 0x1) == 0)
1569                                                             {
1570                                                               if (((word >> 30) & 0x1) == 0)
1571                                                                 {
1572                                                                   /* 33222222222211111111110000000000
1573                                                                      10987654321098765432109876543210
1574                                                                      00111000011xxxxxx00100xxxxxxxxxx
1575                                                                      ldclrlb.  */
1576                                                                   return 1052;
1577                                                                 }
1578                                                               else
1579                                                                 {
1580                                                                   /* 33222222222211111111110000000000
1581                                                                      10987654321098765432109876543210
1582                                                                      01111000011xxxxxx00100xxxxxxxxxx
1583                                                                      ldclrlh.  */
1584                                                                   return 1055;
1585                                                                 }
1586                                                             }
1587                                                           else
1588                                                             {
1589                                                               /* 33222222222211111111110000000000
1590                                                                  10987654321098765432109876543210
1591                                                                  1x111000011xxxxxx00100xxxxxxxxxx
1592                                                                  ldclrl.  */
1593                                                               return 1058;
1594                                                             }
1595                                                         }
1596                                                       else
1597                                                         {
1598                                                           if (((word >> 31) & 0x1) == 0)
1599                                                             {
1600                                                               if (((word >> 30) & 0x1) == 0)
1601                                                                 {
1602                                                                   /* 33222222222211111111110000000000
1603                                                                      10987654321098765432109876543210
1604                                                                      00111000111xxxxxx00100xxxxxxxxxx
1605                                                                      ldclralb.  */
1606                                                                   return 1053;
1607                                                                 }
1608                                                               else
1609                                                                 {
1610                                                                   /* 33222222222211111111110000000000
1611                                                                      10987654321098765432109876543210
1612                                                                      01111000111xxxxxx00100xxxxxxxxxx
1613                                                                      ldclralh.  */
1614                                                                   return 1056;
1615                                                                 }
1616                                                             }
1617                                                           else
1618                                                             {
1619                                                               /* 33222222222211111111110000000000
1620                                                                  10987654321098765432109876543210
1621                                                                  1x111000111xxxxxx00100xxxxxxxxxx
1622                                                                  ldclral.  */
1623                                                               return 1059;
1624                                                             }
1625                                                         }
1626                                                     }
1627                                                 }
1628                                               else
1629                                                 {
1630                                                   if (((word >> 22) & 0x1) == 0)
1631                                                     {
1632                                                       if (((word >> 23) & 0x1) == 0)
1633                                                         {
1634                                                           if (((word >> 31) & 0x1) == 0)
1635                                                             {
1636                                                               if (((word >> 30) & 0x1) == 0)
1637                                                                 {
1638                                                                   /* 33222222222211111111110000000000
1639                                                                      10987654321098765432109876543210
1640                                                                      00111000001xxxxxx10100xxxxxxxxxx
1641                                                                      ldsminb.  */
1642                                                                   return 1096;
1643                                                                 }
1644                                                               else
1645                                                                 {
1646                                                                   /* 33222222222211111111110000000000
1647                                                                      10987654321098765432109876543210
1648                                                                      01111000001xxxxxx10100xxxxxxxxxx
1649                                                                      ldsminh.  */
1650                                                                   return 1097;
1651                                                                 }
1652                                                             }
1653                                                           else
1654                                                             {
1655                                                               /* 33222222222211111111110000000000
1656                                                                  10987654321098765432109876543210
1657                                                                  1x111000001xxxxxx10100xxxxxxxxxx
1658                                                                  ldsmin.  */
1659                                                               return 1098;
1660                                                             }
1661                                                         }
1662                                                       else
1663                                                         {
1664                                                           if (((word >> 31) & 0x1) == 0)
1665                                                             {
1666                                                               if (((word >> 30) & 0x1) == 0)
1667                                                                 {
1668                                                                   /* 33222222222211111111110000000000
1669                                                                      10987654321098765432109876543210
1670                                                                      00111000101xxxxxx10100xxxxxxxxxx
1671                                                                      ldsminab.  */
1672                                                                   return 1099;
1673                                                                 }
1674                                                               else
1675                                                                 {
1676                                                                   /* 33222222222211111111110000000000
1677                                                                      10987654321098765432109876543210
1678                                                                      01111000101xxxxxx10100xxxxxxxxxx
1679                                                                      ldsminah.  */
1680                                                                   return 1102;
1681                                                                 }
1682                                                             }
1683                                                           else
1684                                                             {
1685                                                               /* 33222222222211111111110000000000
1686                                                                  10987654321098765432109876543210
1687                                                                  1x111000101xxxxxx10100xxxxxxxxxx
1688                                                                  ldsmina.  */
1689                                                               return 1105;
1690                                                             }
1691                                                         }
1692                                                     }
1693                                                   else
1694                                                     {
1695                                                       if (((word >> 23) & 0x1) == 0)
1696                                                         {
1697                                                           if (((word >> 31) & 0x1) == 0)
1698                                                             {
1699                                                               if (((word >> 30) & 0x1) == 0)
1700                                                                 {
1701                                                                   /* 33222222222211111111110000000000
1702                                                                      10987654321098765432109876543210
1703                                                                      00111000011xxxxxx10100xxxxxxxxxx
1704                                                                      ldsminlb.  */
1705                                                                   return 1100;
1706                                                                 }
1707                                                               else
1708                                                                 {
1709                                                                   /* 33222222222211111111110000000000
1710                                                                      10987654321098765432109876543210
1711                                                                      01111000011xxxxxx10100xxxxxxxxxx
1712                                                                      ldsminlh.  */
1713                                                                   return 1103;
1714                                                                 }
1715                                                             }
1716                                                           else
1717                                                             {
1718                                                               /* 33222222222211111111110000000000
1719                                                                  10987654321098765432109876543210
1720                                                                  1x111000011xxxxxx10100xxxxxxxxxx
1721                                                                  ldsminl.  */
1722                                                               return 1106;
1723                                                             }
1724                                                         }
1725                                                       else
1726                                                         {
1727                                                           if (((word >> 31) & 0x1) == 0)
1728                                                             {
1729                                                               if (((word >> 30) & 0x1) == 0)
1730                                                                 {
1731                                                                   /* 33222222222211111111110000000000
1732                                                                      10987654321098765432109876543210
1733                                                                      00111000111xxxxxx10100xxxxxxxxxx
1734                                                                      ldsminalb.  */
1735                                                                   return 1101;
1736                                                                 }
1737                                                               else
1738                                                                 {
1739                                                                   /* 33222222222211111111110000000000
1740                                                                      10987654321098765432109876543210
1741                                                                      01111000111xxxxxx10100xxxxxxxxxx
1742                                                                      ldsminalh.  */
1743                                                                   return 1104;
1744                                                                 }
1745                                                             }
1746                                                           else
1747                                                             {
1748                                                               /* 33222222222211111111110000000000
1749                                                                  10987654321098765432109876543210
1750                                                                  1x111000111xxxxxx10100xxxxxxxxxx
1751                                                                  ldsminal.  */
1752                                                               return 1107;
1753                                                             }
1754                                                         }
1755                                                     }
1756                                                 }
1757                                             }
1758                                           else
1759                                             {
1760                                               if (((word >> 14) & 0x1) == 0)
1761                                                 {
1762                                                   if (((word >> 22) & 0x1) == 0)
1763                                                     {
1764                                                       if (((word >> 23) & 0x1) == 0)
1765                                                         {
1766                                                           if (((word >> 31) & 0x1) == 0)
1767                                                             {
1768                                                               if (((word >> 30) & 0x1) == 0)
1769                                                                 {
1770                                                                   /* 33222222222211111111110000000000
1771                                                                      10987654321098765432109876543210
1772                                                                      00111000001xxxxxx01100xxxxxxxxxx
1773                                                                      ldsetb.  */
1774                                                                   return 1072;
1775                                                                 }
1776                                                               else
1777                                                                 {
1778                                                                   /* 33222222222211111111110000000000
1779                                                                      10987654321098765432109876543210
1780                                                                      01111000001xxxxxx01100xxxxxxxxxx
1781                                                                      ldseth.  */
1782                                                                   return 1073;
1783                                                                 }
1784                                                             }
1785                                                           else
1786                                                             {
1787                                                               /* 33222222222211111111110000000000
1788                                                                  10987654321098765432109876543210
1789                                                                  1x111000001xxxxxx01100xxxxxxxxxx
1790                                                                  ldset.  */
1791                                                               return 1074;
1792                                                             }
1793                                                         }
1794                                                       else
1795                                                         {
1796                                                           if (((word >> 31) & 0x1) == 0)
1797                                                             {
1798                                                               if (((word >> 30) & 0x1) == 0)
1799                                                                 {
1800                                                                   /* 33222222222211111111110000000000
1801                                                                      10987654321098765432109876543210
1802                                                                      00111000101xxxxxx01100xxxxxxxxxx
1803                                                                      ldsetab.  */
1804                                                                   return 1075;
1805                                                                 }
1806                                                               else
1807                                                                 {
1808                                                                   /* 33222222222211111111110000000000
1809                                                                      10987654321098765432109876543210
1810                                                                      01111000101xxxxxx01100xxxxxxxxxx
1811                                                                      ldsetah.  */
1812                                                                   return 1078;
1813                                                                 }
1814                                                             }
1815                                                           else
1816                                                             {
1817                                                               /* 33222222222211111111110000000000
1818                                                                  10987654321098765432109876543210
1819                                                                  1x111000101xxxxxx01100xxxxxxxxxx
1820                                                                  ldseta.  */
1821                                                               return 1081;
1822                                                             }
1823                                                         }
1824                                                     }
1825                                                   else
1826                                                     {
1827                                                       if (((word >> 23) & 0x1) == 0)
1828                                                         {
1829                                                           if (((word >> 31) & 0x1) == 0)
1830                                                             {
1831                                                               if (((word >> 30) & 0x1) == 0)
1832                                                                 {
1833                                                                   /* 33222222222211111111110000000000
1834                                                                      10987654321098765432109876543210
1835                                                                      00111000011xxxxxx01100xxxxxxxxxx
1836                                                                      ldsetlb.  */
1837                                                                   return 1076;
1838                                                                 }
1839                                                               else
1840                                                                 {
1841                                                                   /* 33222222222211111111110000000000
1842                                                                      10987654321098765432109876543210
1843                                                                      01111000011xxxxxx01100xxxxxxxxxx
1844                                                                      ldsetlh.  */
1845                                                                   return 1079;
1846                                                                 }
1847                                                             }
1848                                                           else
1849                                                             {
1850                                                               /* 33222222222211111111110000000000
1851                                                                  10987654321098765432109876543210
1852                                                                  1x111000011xxxxxx01100xxxxxxxxxx
1853                                                                  ldsetl.  */
1854                                                               return 1082;
1855                                                             }
1856                                                         }
1857                                                       else
1858                                                         {
1859                                                           if (((word >> 31) & 0x1) == 0)
1860                                                             {
1861                                                               if (((word >> 30) & 0x1) == 0)
1862                                                                 {
1863                                                                   /* 33222222222211111111110000000000
1864                                                                      10987654321098765432109876543210
1865                                                                      00111000111xxxxxx01100xxxxxxxxxx
1866                                                                      ldsetalb.  */
1867                                                                   return 1077;
1868                                                                 }
1869                                                               else
1870                                                                 {
1871                                                                   /* 33222222222211111111110000000000
1872                                                                      10987654321098765432109876543210
1873                                                                      01111000111xxxxxx01100xxxxxxxxxx
1874                                                                      ldsetalh.  */
1875                                                                   return 1080;
1876                                                                 }
1877                                                             }
1878                                                           else
1879                                                             {
1880                                                               /* 33222222222211111111110000000000
1881                                                                  10987654321098765432109876543210
1882                                                                  1x111000111xxxxxx01100xxxxxxxxxx
1883                                                                  ldsetal.  */
1884                                                               return 1083;
1885                                                             }
1886                                                         }
1887                                                     }
1888                                                 }
1889                                               else
1890                                                 {
1891                                                   if (((word >> 22) & 0x1) == 0)
1892                                                     {
1893                                                       if (((word >> 23) & 0x1) == 0)
1894                                                         {
1895                                                           if (((word >> 31) & 0x1) == 0)
1896                                                             {
1897                                                               if (((word >> 30) & 0x1) == 0)
1898                                                                 {
1899                                                                   /* 33222222222211111111110000000000
1900                                                                      10987654321098765432109876543210
1901                                                                      00111000001xxxxxx11100xxxxxxxxxx
1902                                                                      lduminb.  */
1903                                                                   return 1120;
1904                                                                 }
1905                                                               else
1906                                                                 {
1907                                                                   /* 33222222222211111111110000000000
1908                                                                      10987654321098765432109876543210
1909                                                                      01111000001xxxxxx11100xxxxxxxxxx
1910                                                                      lduminh.  */
1911                                                                   return 1121;
1912                                                                 }
1913                                                             }
1914                                                           else
1915                                                             {
1916                                                               /* 33222222222211111111110000000000
1917                                                                  10987654321098765432109876543210
1918                                                                  1x111000001xxxxxx11100xxxxxxxxxx
1919                                                                  ldumin.  */
1920                                                               return 1122;
1921                                                             }
1922                                                         }
1923                                                       else
1924                                                         {
1925                                                           if (((word >> 31) & 0x1) == 0)
1926                                                             {
1927                                                               if (((word >> 30) & 0x1) == 0)
1928                                                                 {
1929                                                                   /* 33222222222211111111110000000000
1930                                                                      10987654321098765432109876543210
1931                                                                      00111000101xxxxxx11100xxxxxxxxxx
1932                                                                      lduminab.  */
1933                                                                   return 1123;
1934                                                                 }
1935                                                               else
1936                                                                 {
1937                                                                   /* 33222222222211111111110000000000
1938                                                                      10987654321098765432109876543210
1939                                                                      01111000101xxxxxx11100xxxxxxxxxx
1940                                                                      lduminah.  */
1941                                                                   return 1126;
1942                                                                 }
1943                                                             }
1944                                                           else
1945                                                             {
1946                                                               /* 33222222222211111111110000000000
1947                                                                  10987654321098765432109876543210
1948                                                                  1x111000101xxxxxx11100xxxxxxxxxx
1949                                                                  ldumina.  */
1950                                                               return 1129;
1951                                                             }
1952                                                         }
1953                                                     }
1954                                                   else
1955                                                     {
1956                                                       if (((word >> 23) & 0x1) == 0)
1957                                                         {
1958                                                           if (((word >> 31) & 0x1) == 0)
1959                                                             {
1960                                                               if (((word >> 30) & 0x1) == 0)
1961                                                                 {
1962                                                                   /* 33222222222211111111110000000000
1963                                                                      10987654321098765432109876543210
1964                                                                      00111000011xxxxxx11100xxxxxxxxxx
1965                                                                      lduminlb.  */
1966                                                                   return 1124;
1967                                                                 }
1968                                                               else
1969                                                                 {
1970                                                                   /* 33222222222211111111110000000000
1971                                                                      10987654321098765432109876543210
1972                                                                      01111000011xxxxxx11100xxxxxxxxxx
1973                                                                      lduminlh.  */
1974                                                                   return 1127;
1975                                                                 }
1976                                                             }
1977                                                           else
1978                                                             {
1979                                                               /* 33222222222211111111110000000000
1980                                                                  10987654321098765432109876543210
1981                                                                  1x111000011xxxxxx11100xxxxxxxxxx
1982                                                                  lduminl.  */
1983                                                               return 1130;
1984                                                             }
1985                                                         }
1986                                                       else
1987                                                         {
1988                                                           if (((word >> 31) & 0x1) == 0)
1989                                                             {
1990                                                               if (((word >> 30) & 0x1) == 0)
1991                                                                 {
1992                                                                   /* 33222222222211111111110000000000
1993                                                                      10987654321098765432109876543210
1994                                                                      00111000111xxxxxx11100xxxxxxxxxx
1995                                                                      lduminalb.  */
1996                                                                   return 1125;
1997                                                                 }
1998                                                               else
1999                                                                 {
2000                                                                   /* 33222222222211111111110000000000
2001                                                                      10987654321098765432109876543210
2002                                                                      01111000111xxxxxx11100xxxxxxxxxx
2003                                                                      lduminalh.  */
2004                                                                   return 1128;
2005                                                                 }
2006                                                             }
2007                                                           else
2008                                                             {
2009                                                               /* 33222222222211111111110000000000
2010                                                                  10987654321098765432109876543210
2011                                                                  1x111000111xxxxxx11100xxxxxxxxxx
2012                                                                  lduminal.  */
2013                                                               return 1131;
2014                                                             }
2015                                                         }
2016                                                     }
2017                                                 }
2018                                             }
2019                                         }
2020                                     }
2021                                 }
2022                               else
2023                                 {
2024                                   if (((word >> 21) & 0x1) == 0)
2025                                     {
2026                                       if (((word >> 23) & 0x1) == 0)
2027                                         {
2028                                           if (((word >> 22) & 0x1) == 0)
2029                                             {
2030                                               if (((word >> 31) & 0x1) == 0)
2031                                                 {
2032                                                   if (((word >> 30) & 0x1) == 0)
2033                                                     {
2034                                                       /* 33222222222211111111110000000000
2035                                                          10987654321098765432109876543210
2036                                                          00111000000xxxxxxxxx10xxxxxxxxxx
2037                                                          sttrb.  */
2038                                                       return 912;
2039                                                     }
2040                                                   else
2041                                                     {
2042                                                       /* 33222222222211111111110000000000
2043                                                          10987654321098765432109876543210
2044                                                          01111000000xxxxxxxxx10xxxxxxxxxx
2045                                                          sttrh.  */
2046                                                       return 915;
2047                                                     }
2048                                                 }
2049                                               else
2050                                                 {
2051                                                   /* 33222222222211111111110000000000
2052                                                      10987654321098765432109876543210
2053                                                      1x111000000xxxxxxxxx10xxxxxxxxxx
2054                                                      sttr.  */
2055                                                   return 918;
2056                                                 }
2057                                             }
2058                                           else
2059                                             {
2060                                               if (((word >> 31) & 0x1) == 0)
2061                                                 {
2062                                                   if (((word >> 30) & 0x1) == 0)
2063                                                     {
2064                                                       /* 33222222222211111111110000000000
2065                                                          10987654321098765432109876543210
2066                                                          00111000010xxxxxxxxx10xxxxxxxxxx
2067                                                          ldtrb.  */
2068                                                       return 913;
2069                                                     }
2070                                                   else
2071                                                     {
2072                                                       /* 33222222222211111111110000000000
2073                                                          10987654321098765432109876543210
2074                                                          01111000010xxxxxxxxx10xxxxxxxxxx
2075                                                          ldtrh.  */
2076                                                       return 916;
2077                                                     }
2078                                                 }
2079                                               else
2080                                                 {
2081                                                   /* 33222222222211111111110000000000
2082                                                      10987654321098765432109876543210
2083                                                      1x111000010xxxxxxxxx10xxxxxxxxxx
2084                                                      ldtr.  */
2085                                                   return 919;
2086                                                 }
2087                                             }
2088                                         }
2089                                       else
2090                                         {
2091                                           if (((word >> 30) & 0x1) == 0)
2092                                             {
2093                                               if (((word >> 31) & 0x1) == 0)
2094                                                 {
2095                                                   /* 33222222222211111111110000000000
2096                                                      10987654321098765432109876543210
2097                                                      001110001x0xxxxxxxxx10xxxxxxxxxx
2098                                                      ldtrsb.  */
2099                                                   return 914;
2100                                                 }
2101                                               else
2102                                                 {
2103                                                   /* 33222222222211111111110000000000
2104                                                      10987654321098765432109876543210
2105                                                      101110001x0xxxxxxxxx10xxxxxxxxxx
2106                                                      ldtrsw.  */
2107                                                   return 920;
2108                                                 }
2109                                             }
2110                                           else
2111                                             {
2112                                               /* 33222222222211111111110000000000
2113                                                  10987654321098765432109876543210
2114                                                  x11110001x0xxxxxxxxx10xxxxxxxxxx
2115                                                  ldtrsh.  */
2116                                               return 917;
2117                                             }
2118                                         }
2119                                     }
2120                                   else
2121                                     {
2122                                       if (((word >> 23) & 0x1) == 0)
2123                                         {
2124                                           if (((word >> 22) & 0x1) == 0)
2125                                             {
2126                                               if (((word >> 31) & 0x1) == 0)
2127                                                 {
2128                                                   if (((word >> 30) & 0x1) == 0)
2129                                                     {
2130                                                       /* 33222222222211111111110000000000
2131                                                          10987654321098765432109876543210
2132                                                          00111000001xxxxxxxxx10xxxxxxxxxx
2133                                                          strb.  */
2134                                                       return 900;
2135                                                     }
2136                                                   else
2137                                                     {
2138                                                       /* 33222222222211111111110000000000
2139                                                          10987654321098765432109876543210
2140                                                          01111000001xxxxxxxxx10xxxxxxxxxx
2141                                                          strh.  */
2142                                                       return 905;
2143                                                     }
2144                                                 }
2145                                               else
2146                                                 {
2147                                                   /* 33222222222211111111110000000000
2148                                                      10987654321098765432109876543210
2149                                                      1x111000001xxxxxxxxx10xxxxxxxxxx
2150                                                      str.  */
2151                                                   return 908;
2152                                                 }
2153                                             }
2154                                           else
2155                                             {
2156                                               if (((word >> 31) & 0x1) == 0)
2157                                                 {
2158                                                   if (((word >> 30) & 0x1) == 0)
2159                                                     {
2160                                                       /* 33222222222211111111110000000000
2161                                                          10987654321098765432109876543210
2162                                                          00111000011xxxxxxxxx10xxxxxxxxxx
2163                                                          ldrb.  */
2164                                                       return 901;
2165                                                     }
2166                                                   else
2167                                                     {
2168                                                       /* 33222222222211111111110000000000
2169                                                          10987654321098765432109876543210
2170                                                          01111000011xxxxxxxxx10xxxxxxxxxx
2171                                                          ldrh.  */
2172                                                       return 906;
2173                                                     }
2174                                                 }
2175                                               else
2176                                                 {
2177                                                   /* 33222222222211111111110000000000
2178                                                      10987654321098765432109876543210
2179                                                      1x111000011xxxxxxxxx10xxxxxxxxxx
2180                                                      ldr.  */
2181                                                   return 909;
2182                                                 }
2183                                             }
2184                                         }
2185                                       else
2186                                         {
2187                                           if (((word >> 30) & 0x1) == 0)
2188                                             {
2189                                               if (((word >> 31) & 0x1) == 0)
2190                                                 {
2191                                                   /* 33222222222211111111110000000000
2192                                                      10987654321098765432109876543210
2193                                                      001110001x1xxxxxxxxx10xxxxxxxxxx
2194                                                      ldrsb.  */
2195                                                   return 902;
2196                                                 }
2197                                               else
2198                                                 {
2199                                                   /* 33222222222211111111110000000000
2200                                                      10987654321098765432109876543210
2201                                                      101110001x1xxxxxxxxx10xxxxxxxxxx
2202                                                      ldrsw.  */
2203                                                   return 910;
2204                                                 }
2205                                             }
2206                                           else
2207                                             {
2208                                               if (((word >> 31) & 0x1) == 0)
2209                                                 {
2210                                                   /* 33222222222211111111110000000000
2211                                                      10987654321098765432109876543210
2212                                                      011110001x1xxxxxxxxx10xxxxxxxxxx
2213                                                      ldrsh.  */
2214                                                   return 907;
2215                                                 }
2216                                               else
2217                                                 {
2218                                                   /* 33222222222211111111110000000000
2219                                                      10987654321098765432109876543210
2220                                                      111110001x1xxxxxxxxx10xxxxxxxxxx
2221                                                      prfm.  */
2222                                                   return 911;
2223                                                 }
2224                                             }
2225                                         }
2226                                     }
2227                                 }
2228                             }
2229                           else
2230                             {
2231                               if (((word >> 21) & 0x1) == 0)
2232                                 {
2233                                   if (((word >> 23) & 0x1) == 0)
2234                                     {
2235                                       if (((word >> 22) & 0x1) == 0)
2236                                         {
2237                                           if (((word >> 31) & 0x1) == 0)
2238                                             {
2239                                               if (((word >> 30) & 0x1) == 0)
2240                                                 {
2241                                                   /* 33222222222211111111110000000000
2242                                                      10987654321098765432109876543210
2243                                                      00111000000xxxxxxxxxx1xxxxxxxxxx
2244                                                      strb.  */
2245                                                   return 869;
2246                                                 }
2247                                               else
2248                                                 {
2249                                                   /* 33222222222211111111110000000000
2250                                                      10987654321098765432109876543210
2251                                                      01111000000xxxxxxxxxx1xxxxxxxxxx
2252                                                      strh.  */
2253                                                   return 874;
2254                                                 }
2255                                             }
2256                                           else
2257                                             {
2258                                               /* 33222222222211111111110000000000
2259                                                  10987654321098765432109876543210
2260                                                  1x111000000xxxxxxxxxx1xxxxxxxxxx
2261                                                  str.  */
2262                                               return 877;
2263                                             }
2264                                         }
2265                                       else
2266                                         {
2267                                           if (((word >> 31) & 0x1) == 0)
2268                                             {
2269                                               if (((word >> 30) & 0x1) == 0)
2270                                                 {
2271                                                   /* 33222222222211111111110000000000
2272                                                      10987654321098765432109876543210
2273                                                      00111000010xxxxxxxxxx1xxxxxxxxxx
2274                                                      ldrb.  */
2275                                                   return 870;
2276                                                 }
2277                                               else
2278                                                 {
2279                                                   /* 33222222222211111111110000000000
2280                                                      10987654321098765432109876543210
2281                                                      01111000010xxxxxxxxxx1xxxxxxxxxx
2282                                                      ldrh.  */
2283                                                   return 875;
2284                                                 }
2285                                             }
2286                                           else
2287                                             {
2288                                               /* 33222222222211111111110000000000
2289                                                  10987654321098765432109876543210
2290                                                  1x111000010xxxxxxxxxx1xxxxxxxxxx
2291                                                  ldr.  */
2292                                               return 878;
2293                                             }
2294                                         }
2295                                     }
2296                                   else
2297                                     {
2298                                       if (((word >> 30) & 0x1) == 0)
2299                                         {
2300                                           if (((word >> 31) & 0x1) == 0)
2301                                             {
2302                                               /* 33222222222211111111110000000000
2303                                                  10987654321098765432109876543210
2304                                                  001110001x0xxxxxxxxxx1xxxxxxxxxx
2305                                                  ldrsb.  */
2306                                               return 871;
2307                                             }
2308                                           else
2309                                             {
2310                                               /* 33222222222211111111110000000000
2311                                                  10987654321098765432109876543210
2312                                                  101110001x0xxxxxxxxxx1xxxxxxxxxx
2313                                                  ldrsw.  */
2314                                               return 879;
2315                                             }
2316                                         }
2317                                       else
2318                                         {
2319                                           /* 33222222222211111111110000000000
2320                                              10987654321098765432109876543210
2321                                              x11110001x0xxxxxxxxxx1xxxxxxxxxx
2322                                              ldrsh.  */
2323                                           return 876;
2324                                         }
2325                                     }
2326                                 }
2327                               else
2328                                 {
2329                                   if (((word >> 23) & 0x1) == 0)
2330                                     {
2331                                       /* 33222222222211111111110000000000
2332                                          10987654321098765432109876543210
2333                                          xx1110000x1xxxxxxxxxx1xxxxxxxxxx
2334                                          ldraa.  */
2335                                       return 934;
2336                                     }
2337                                   else
2338                                     {
2339                                       /* 33222222222211111111110000000000
2340                                          10987654321098765432109876543210
2341                                          xx1110001x1xxxxxxxxxx1xxxxxxxxxx
2342                                          ldrab.  */
2343                                       return 935;
2344                                     }
2345                                 }
2346                             }
2347                         }
2348                     }
2349                   else
2350                     {
2351                       if (((word >> 23) & 0x1) == 0)
2352                         {
2353                           if (((word >> 22) & 0x1) == 0)
2354                             {
2355                               if (((word >> 29) & 0x1) == 0)
2356                                 {
2357                                   if (((word >> 10) & 0x1) == 0)
2358                                     {
2359                                       if (((word >> 11) & 0x1) == 0)
2360                                         {
2361                                           if (((word >> 30) & 0x1) == 0)
2362                                             {
2363                                               if (((word >> 31) & 0x1) == 0)
2364                                                 {
2365                                                   /* 33222222222211111111110000000000
2366                                                      10987654321098765432109876543210
2367                                                      0001100100xxxxxxxxxx00xxxxxxxxxx
2368                                                      stlurb.  */
2369                                                   return 2081;
2370                                                 }
2371                                               else
2372                                                 {
2373                                                   /* 33222222222211111111110000000000
2374                                                      10987654321098765432109876543210
2375                                                      1001100100xxxxxxxxxx00xxxxxxxxxx
2376                                                      stlur.  */
2377                                                   return 2089;
2378                                                 }
2379                                             }
2380                                           else
2381                                             {
2382                                               if (((word >> 31) & 0x1) == 0)
2383                                                 {
2384                                                   /* 33222222222211111111110000000000
2385                                                      10987654321098765432109876543210
2386                                                      0101100100xxxxxxxxxx00xxxxxxxxxx
2387                                                      stlurh.  */
2388                                                   return 2085;
2389                                                 }
2390                                               else
2391                                                 {
2392                                                   /* 33222222222211111111110000000000
2393                                                      10987654321098765432109876543210
2394                                                      1101100100xxxxxxxxxx00xxxxxxxxxx
2395                                                      stlur.  */
2396                                                   return 2092;
2397                                                 }
2398                                             }
2399                                         }
2400                                       else
2401                                         {
2402                                           /* 33222222222211111111110000000000
2403                                              10987654321098765432109876543210
2404                                              xx01100100xxxxxxxxxx10xxxxxxxxxx
2405                                              stg.  */
2406                                           return 880;
2407                                         }
2408                                     }
2409                                   else
2410                                     {
2411                                       /* 33222222222211111111110000000000
2412                                          10987654321098765432109876543210
2413                                          xx01100100xxxxxxxxxxx1xxxxxxxxxx
2414                                          stg.  */
2415                                       return 884;
2416                                     }
2417                                 }
2418                               else
2419                                 {
2420                                   if (((word >> 31) & 0x1) == 0)
2421                                     {
2422                                       if (((word >> 30) & 0x1) == 0)
2423                                         {
2424                                           /* 33222222222211111111110000000000
2425                                              10987654321098765432109876543210
2426                                              0011100100xxxxxxxxxxxxxxxxxxxxxx
2427                                              strb.  */
2428                                           return 888;
2429                                         }
2430                                       else
2431                                         {
2432                                           /* 33222222222211111111110000000000
2433                                              10987654321098765432109876543210
2434                                              0111100100xxxxxxxxxxxxxxxxxxxxxx
2435                                              strh.  */
2436                                           return 893;
2437                                         }
2438                                     }
2439                                   else
2440                                     {
2441                                       /* 33222222222211111111110000000000
2442                                          10987654321098765432109876543210
2443                                          1x11100100xxxxxxxxxxxxxxxxxxxxxx
2444                                          str.  */
2445                                       return 896;
2446                                     }
2447                                 }
2448                             }
2449                           else
2450                             {
2451                               if (((word >> 29) & 0x1) == 0)
2452                                 {
2453                                   if (((word >> 10) & 0x1) == 0)
2454                                     {
2455                                       if (((word >> 11) & 0x1) == 0)
2456                                         {
2457                                           if (((word >> 21) & 0x1) == 0)
2458                                             {
2459                                               if (((word >> 30) & 0x1) == 0)
2460                                                 {
2461                                                   if (((word >> 31) & 0x1) == 0)
2462                                                     {
2463                                                       /* 33222222222211111111110000000000
2464                                                          10987654321098765432109876543210
2465                                                          00011001010xxxxxxxxx00xxxxxxxxxx
2466                                                          ldapurb.  */
2467                                                       return 2082;
2468                                                     }
2469                                                   else
2470                                                     {
2471                                                       /* 33222222222211111111110000000000
2472                                                          10987654321098765432109876543210
2473                                                          10011001010xxxxxxxxx00xxxxxxxxxx
2474                                                          ldapur.  */
2475                                                       return 2090;
2476                                                     }
2477                                                 }
2478                                               else
2479                                                 {
2480                                                   if (((word >> 31) & 0x1) == 0)
2481                                                     {
2482                                                       /* 33222222222211111111110000000000
2483                                                          10987654321098765432109876543210
2484                                                          01011001010xxxxxxxxx00xxxxxxxxxx
2485                                                          ldapurh.  */
2486                                                       return 2086;
2487                                                     }
2488                                                   else
2489                                                     {
2490                                                       /* 33222222222211111111110000000000
2491                                                          10987654321098765432109876543210
2492                                                          11011001010xxxxxxxxx00xxxxxxxxxx
2493                                                          ldapur.  */
2494                                                       return 2093;
2495                                                     }
2496                                                 }
2497                                             }
2498                                           else
2499                                             {
2500                                               /* 33222222222211111111110000000000
2501                                                  10987654321098765432109876543210
2502                                                  xx011001011xxxxxxxxx00xxxxxxxxxx
2503                                                  ldg.  */
2504                                               return 933;
2505                                             }
2506                                         }
2507                                       else
2508                                         {
2509                                           /* 33222222222211111111110000000000
2510                                              10987654321098765432109876543210
2511                                              xx01100101xxxxxxxxxx10xxxxxxxxxx
2512                                              stzg.  */
2513                                           return 881;
2514                                         }
2515                                     }
2516                                   else
2517                                     {
2518                                       /* 33222222222211111111110000000000
2519                                          10987654321098765432109876543210
2520                                          xx01100101xxxxxxxxxxx1xxxxxxxxxx
2521                                          stzg.  */
2522                                       return 885;
2523                                     }
2524                                 }
2525                               else
2526                                 {
2527                                   if (((word >> 31) & 0x1) == 0)
2528                                     {
2529                                       if (((word >> 30) & 0x1) == 0)
2530                                         {
2531                                           /* 33222222222211111111110000000000
2532                                              10987654321098765432109876543210
2533                                              0011100101xxxxxxxxxxxxxxxxxxxxxx
2534                                              ldrb.  */
2535                                           return 889;
2536                                         }
2537                                       else
2538                                         {
2539                                           /* 33222222222211111111110000000000
2540                                              10987654321098765432109876543210
2541                                              0111100101xxxxxxxxxxxxxxxxxxxxxx
2542                                              ldrh.  */
2543                                           return 894;
2544                                         }
2545                                     }
2546                                   else
2547                                     {
2548                                       /* 33222222222211111111110000000000
2549                                          10987654321098765432109876543210
2550                                          1x11100101xxxxxxxxxxxxxxxxxxxxxx
2551                                          ldr.  */
2552                                       return 897;
2553                                     }
2554                                 }
2555                             }
2556                         }
2557                       else
2558                         {
2559                           if (((word >> 29) & 0x1) == 0)
2560                             {
2561                               if (((word >> 10) & 0x1) == 0)
2562                                 {
2563                                   if (((word >> 11) & 0x1) == 0)
2564                                     {
2565                                       if (((word >> 21) & 0x1) == 0)
2566                                         {
2567                                           if (((word >> 22) & 0x1) == 0)
2568                                             {
2569                                               if (((word >> 30) & 0x1) == 0)
2570                                                 {
2571                                                   if (((word >> 31) & 0x1) == 0)
2572                                                     {
2573                                                       /* 33222222222211111111110000000000
2574                                                          10987654321098765432109876543210
2575                                                          00011001100xxxxxxxxx00xxxxxxxxxx
2576                                                          ldapursb.  */
2577                                                       return 2084;
2578                                                     }
2579                                                   else
2580                                                     {
2581                                                       /* 33222222222211111111110000000000
2582                                                          10987654321098765432109876543210
2583                                                          10011001100xxxxxxxxx00xxxxxxxxxx
2584                                                          ldapursw.  */
2585                                                       return 2091;
2586                                                     }
2587                                                 }
2588                                               else
2589                                                 {
2590                                                   /* 33222222222211111111110000000000
2591                                                      10987654321098765432109876543210
2592                                                      x1011001100xxxxxxxxx00xxxxxxxxxx
2593                                                      ldapursh.  */
2594                                                   return 2088;
2595                                                 }
2596                                             }
2597                                           else
2598                                             {
2599                                               if (((word >> 30) & 0x1) == 0)
2600                                                 {
2601                                                   /* 33222222222211111111110000000000
2602                                                      10987654321098765432109876543210
2603                                                      x0011001110xxxxxxxxx00xxxxxxxxxx
2604                                                      ldapursb.  */
2605                                                   return 2083;
2606                                                 }
2607                                               else
2608                                                 {
2609                                                   /* 33222222222211111111110000000000
2610                                                      10987654321098765432109876543210
2611                                                      x1011001110xxxxxxxxx00xxxxxxxxxx
2612                                                      ldapursh.  */
2613                                                   return 2087;
2614                                                 }
2615                                             }
2616                                         }
2617                                       else
2618                                         {
2619                                           if (((word >> 22) & 0x1) == 0)
2620                                             {
2621                                               /* 33222222222211111111110000000000
2622                                                  10987654321098765432109876543210
2623                                                  xx011001101xxxxxxxxx00xxxxxxxxxx
2624                                                  stgv.  */
2625                                               return 962;
2626                                             }
2627                                           else
2628                                             {
2629                                               /* 33222222222211111111110000000000
2630                                                  10987654321098765432109876543210
2631                                                  xx011001111xxxxxxxxx00xxxxxxxxxx
2632                                                  ldgv.  */
2633                                               return 961;
2634                                             }
2635                                         }
2636                                     }
2637                                   else
2638                                     {
2639                                       if (((word >> 22) & 0x1) == 0)
2640                                         {
2641                                           /* 33222222222211111111110000000000
2642                                              10987654321098765432109876543210
2643                                              xx01100110xxxxxxxxxx10xxxxxxxxxx
2644                                              st2g.  */
2645                                           return 882;
2646                                         }
2647                                       else
2648                                         {
2649                                           /* 33222222222211111111110000000000
2650                                              10987654321098765432109876543210
2651                                              xx01100111xxxxxxxxxx10xxxxxxxxxx
2652                                              stz2g.  */
2653                                           return 883;
2654                                         }
2655                                     }
2656                                 }
2657                               else
2658                                 {
2659                                   if (((word >> 22) & 0x1) == 0)
2660                                     {
2661                                       /* 33222222222211111111110000000000
2662                                          10987654321098765432109876543210
2663                                          xx01100110xxxxxxxxxxx1xxxxxxxxxx
2664                                          st2g.  */
2665                                       return 886;
2666                                     }
2667                                   else
2668                                     {
2669                                       /* 33222222222211111111110000000000
2670                                          10987654321098765432109876543210
2671                                          xx01100111xxxxxxxxxxx1xxxxxxxxxx
2672                                          stz2g.  */
2673                                       return 887;
2674                                     }
2675                                 }
2676                             }
2677                           else
2678                             {
2679                               if (((word >> 30) & 0x1) == 0)
2680                                 {
2681                                   if (((word >> 31) & 0x1) == 0)
2682                                     {
2683                                       /* 33222222222211111111110000000000
2684                                          10987654321098765432109876543210
2685                                          001110011xxxxxxxxxxxxxxxxxxxxxxx
2686                                          ldrsb.  */
2687                                       return 890;
2688                                     }
2689                                   else
2690                                     {
2691                                       /* 33222222222211111111110000000000
2692                                          10987654321098765432109876543210
2693                                          101110011xxxxxxxxxxxxxxxxxxxxxxx
2694                                          ldrsw.  */
2695                                       return 898;
2696                                     }
2697                                 }
2698                               else
2699                                 {
2700                                   if (((word >> 31) & 0x1) == 0)
2701                                     {
2702                                       /* 33222222222211111111110000000000
2703                                          10987654321098765432109876543210
2704                                          011110011xxxxxxxxxxxxxxxxxxxxxxx
2705                                          ldrsh.  */
2706                                       return 895;
2707                                     }
2708                                   else
2709                                     {
2710                                       /* 33222222222211111111110000000000
2711                                          10987654321098765432109876543210
2712                                          111110011xxxxxxxxxxxxxxxxxxxxxxx
2713                                          prfm.  */
2714                                       return 899;
2715                                     }
2716                                 }
2717                             }
2718                         }
2719                     }
2720                 }
2721             }
2722         }
2723       else
2724         {
2725           if (((word >> 24) & 0x1) == 0)
2726             {
2727               if (((word >> 27) & 0x1) == 0)
2728                 {
2729                   if (((word >> 23) & 0x1) == 0)
2730                     {
2731                       if (((word >> 29) & 0x1) == 0)
2732                         {
2733                           if (((word >> 30) & 0x1) == 0)
2734                             {
2735                               /* 33222222222211111111110000000000
2736                                  10987654321098765432109876543210
2737                                  x00x00100xxxxxxxxxxxxxxxxxxxxxxx
2738                                  and.  */
2739                               return 989;
2740                             }
2741                           else
2742                             {
2743                               /* 33222222222211111111110000000000
2744                                  10987654321098765432109876543210
2745                                  x10x00100xxxxxxxxxxxxxxxxxxxxxxx
2746                                  eor.  */
2747                               return 993;
2748                             }
2749                         }
2750                       else
2751                         {
2752                           if (((word >> 30) & 0x1) == 0)
2753                             {
2754                               /* 33222222222211111111110000000000
2755                                  10987654321098765432109876543210
2756                                  x01x00100xxxxxxxxxxxxxxxxxxxxxxx
2757                                  orr.  */
2758                               return 991;
2759                             }
2760                           else
2761                             {
2762                               /* 33222222222211111111110000000000
2763                                  10987654321098765432109876543210
2764                                  x11x00100xxxxxxxxxxxxxxxxxxxxxxx
2765                                  ands.  */
2766                               return 994;
2767                             }
2768                         }
2769                     }
2770                   else
2771                     {
2772                       if (((word >> 29) & 0x1) == 0)
2773                         {
2774                           if (((word >> 30) & 0x1) == 0)
2775                             {
2776                               /* 33222222222211111111110000000000
2777                                  10987654321098765432109876543210
2778                                  x00x00101xxxxxxxxxxxxxxxxxxxxxxx
2779                                  movn.  */
2780                               return 1180;
2781                             }
2782                           else
2783                             {
2784                               /* 33222222222211111111110000000000
2785                                  10987654321098765432109876543210
2786                                  x10x00101xxxxxxxxxxxxxxxxxxxxxxx
2787                                  movz.  */
2788                               return 1182;
2789                             }
2790                         }
2791                       else
2792                         {
2793                           /* 33222222222211111111110000000000
2794                              10987654321098765432109876543210
2795                              xx1x00101xxxxxxxxxxxxxxxxxxxxxxx
2796                              movk.  */
2797                           return 1184;
2798                         }
2799                     }
2800                 }
2801               else
2802                 {
2803                   if (((word >> 21) & 0x1) == 0)
2804                     {
2805                       if (((word >> 28) & 0x1) == 0)
2806                         {
2807                           if (((word >> 29) & 0x1) == 0)
2808                             {
2809                               if (((word >> 30) & 0x1) == 0)
2810                                 {
2811                                   /* 33222222222211111111110000000000
2812                                      10987654321098765432109876543210
2813                                      x0001010xx0xxxxxxxxxxxxxxxxxxxxx
2814                                      and.  */
2815                                   return 996;
2816                                 }
2817                               else
2818                                 {
2819                                   /* 33222222222211111111110000000000
2820                                      10987654321098765432109876543210
2821                                      x1001010xx0xxxxxxxxxxxxxxxxxxxxx
2822                                      eor.  */
2823                                   return 1003;
2824                                 }
2825                             }
2826                           else
2827                             {
2828                               if (((word >> 30) & 0x1) == 0)
2829                                 {
2830                                   /* 33222222222211111111110000000000
2831                                      10987654321098765432109876543210
2832                                      x0101010xx0xxxxxxxxxxxxxxxxxxxxx
2833                                      orr.  */
2834                                   return 998;
2835                                 }
2836                               else
2837                                 {
2838                                   /* 33222222222211111111110000000000
2839                                      10987654321098765432109876543210
2840                                      x1101010xx0xxxxxxxxxxxxxxxxxxxxx
2841                                      ands.  */
2842                                   return 1005;
2843                                 }
2844                             }
2845                         }
2846                       else
2847                         {
2848                           if (((word >> 10) & 0x1) == 0)
2849                             {
2850                               if (((word >> 11) & 0x1) == 0)
2851                                 {
2852                                   if (((word >> 22) & 0x1) == 0)
2853                                     {
2854                                       if (((word >> 23) & 0x1) == 0)
2855                                         {
2856                                           if (((word >> 29) & 0x1) == 0)
2857                                             {
2858                                               if (((word >> 30) & 0x1) == 0)
2859                                                 {
2860                                                   /* 33222222222211111111110000000000
2861                                                      10987654321098765432109876543210
2862                                                      x0011010000xxxxxxxxx00xxxxxxxxxx
2863                                                      adc.  */
2864                                                   return 0;
2865                                                 }
2866                                               else
2867                                                 {
2868                                                   /* 33222222222211111111110000000000
2869                                                      10987654321098765432109876543210
2870                                                      x1011010000xxxxxxxxx00xxxxxxxxxx
2871                                                      sbc.  */
2872                                                   return 2;
2873                                                 }
2874                                             }
2875                                           else
2876                                             {
2877                                               if (((word >> 30) & 0x1) == 0)
2878                                                 {
2879                                                   /* 33222222222211111111110000000000
2880                                                      10987654321098765432109876543210
2881                                                      x0111010000xxxxxxxxx00xxxxxxxxxx
2882                                                      adcs.  */
2883                                                   return 1;
2884                                                 }
2885                                               else
2886                                                 {
2887                                                   /* 33222222222211111111110000000000
2888                                                      10987654321098765432109876543210
2889                                                      x1111010000xxxxxxxxx00xxxxxxxxxx
2890                                                      sbcs.  */
2891                                                   return 4;
2892                                                 }
2893                                             }
2894                                         }
2895                                       else
2896                                         {
2897                                           if (((word >> 30) & 0x1) == 0)
2898                                             {
2899                                               /* 33222222222211111111110000000000
2900                                                  10987654321098765432109876543210
2901                                                  x0x11010100xxxxxxxxx00xxxxxxxxxx
2902                                                  csel.  */
2903                                               return 662;
2904                                             }
2905                                           else
2906                                             {
2907                                               /* 33222222222211111111110000000000
2908                                                  10987654321098765432109876543210
2909                                                  x1x11010100xxxxxxxxx00xxxxxxxxxx
2910                                                  csinv.  */
2911                                               return 666;
2912                                             }
2913                                         }
2914                                     }
2915                                   else
2916                                     {
2917                                       if (((word >> 23) & 0x1) == 0)
2918                                         {
2919                                           if (((word >> 30) & 0x1) == 0)
2920                                             {
2921                                               /* 33222222222211111111110000000000
2922                                                  10987654321098765432109876543210
2923                                                  x0x11010010xxxxxxxxx00xxxxxxxxxx
2924                                                  ccmn.  */
2925                                               return 660;
2926                                             }
2927                                           else
2928                                             {
2929                                               /* 33222222222211111111110000000000
2930                                                  10987654321098765432109876543210
2931                                                  x1x11010010xxxxxxxxx00xxxxxxxxxx
2932                                                  ccmp.  */
2933                                               return 661;
2934                                             }
2935                                         }
2936                                       else
2937                                         {
2938                                           if (((word >> 12) & 0x1) == 0)
2939                                             {
2940                                               if (((word >> 13) & 0x1) == 0)
2941                                                 {
2942                                                   if (((word >> 14) & 0x1) == 0)
2943                                                     {
2944                                                       if (((word >> 29) & 0x1) == 0)
2945                                                         {
2946                                                           if (((word >> 30) & 0x1) == 0)
2947                                                             {
2948                                                               /* 33222222222211111111110000000000
2949                                                                  10987654321098765432109876543210
2950                                                                  x0011010110xxxxxx00000xxxxxxxxxx
2951                                                                  subp.  */
2952                                                               return 721;
2953                                                             }
2954                                                           else
2955                                                             {
2956                                                               if (((word >> 16) & 0x1) == 0)
2957                                                                 {
2958                                                                   /* 33222222222211111111110000000000
2959                                                                      10987654321098765432109876543210
2960                                                                      x1011010110xxxx0x00000xxxxxxxxxx
2961                                                                      rbit.  */
2962                                                                   return 685;
2963                                                                 }
2964                                                               else
2965                                                                 {
2966                                                                   /* 33222222222211111111110000000000
2967                                                                      10987654321098765432109876543210
2968                                                                      x1011010110xxxx1x00000xxxxxxxxxx
2969                                                                      pacia.  */
2970                                                                   return 693;
2971                                                                 }
2972                                                             }
2973                                                         }
2974                                                       else
2975                                                         {
2976                                                           /* 33222222222211111111110000000000
2977                                                              10987654321098765432109876543210
2978                                                              xx111010110xxxxxx00000xxxxxxxxxx
2979                                                              subps.  */
2980                                                           return 722;
2981                                                         }
2982                                                     }
2983                                                   else
2984                                                     {
2985                                                       if (((word >> 30) & 0x1) == 0)
2986                                                         {
2987                                                           /* 33222222222211111111110000000000
2988                                                              10987654321098765432109876543210
2989                                                              x0x11010110xxxxxx10000xxxxxxxxxx
2990                                                              crc32b.  */
2991                                                           return 727;
2992                                                         }
2993                                                       else
2994                                                         {
2995                                                           /* 33222222222211111111110000000000
2996                                                              10987654321098765432109876543210
2997                                                              x1x11010110xxxxxx10000xxxxxxxxxx
2998                                                              xpaci.  */
2999                                                           return 709;
3000                                                         }
3001                                                     }
3002                                                 }
3003                                               else
3004                                                 {
3005                                                   if (((word >> 30) & 0x1) == 0)
3006                                                     {
3007                                                       /* 33222222222211111111110000000000
3008                                                          10987654321098765432109876543210
3009                                                          x0x11010110xxxxxxx1000xxxxxxxxxx
3010                                                          lslv.  */
3011                                                       return 713;
3012                                                     }
3013                                                   else
3014                                                     {
3015                                                       /* 33222222222211111111110000000000
3016                                                          10987654321098765432109876543210
3017                                                          x1x11010110xxxxxxx1000xxxxxxxxxx
3018                                                          paciza.  */
3019                                                       return 701;
3020                                                     }
3021                                                 }
3022                                             }
3023                                           else
3024                                             {
3025                                               if (((word >> 13) & 0x1) == 0)
3026                                                 {
3027                                                   if (((word >> 14) & 0x1) == 0)
3028                                                     {
3029                                                       if (((word >> 30) & 0x1) == 0)
3030                                                         {
3031                                                           /* 33222222222211111111110000000000
3032                                                              10987654321098765432109876543210
3033                                                              x0x11010110xxxxxx00100xxxxxxxxxx
3034                                                              irg.  */
3035                                                           return 724;
3036                                                         }
3037                                                       else
3038                                                         {
3039                                                           if (((word >> 16) & 0x1) == 0)
3040                                                             {
3041                                                               /* 33222222222211111111110000000000
3042                                                                  10987654321098765432109876543210
3043                                                                  x1x11010110xxxx0x00100xxxxxxxxxx
3044                                                                  clz.  */
3045                                                               return 690;
3046                                                             }
3047                                                           else
3048                                                             {
3049                                                               /* 33222222222211111111110000000000
3050                                                                  10987654321098765432109876543210
3051                                                                  x1x11010110xxxx1x00100xxxxxxxxxx
3052                                                                  autia.  */
3053                                                               return 697;
3054                                                             }
3055                                                         }
3056                                                     }
3057                                                   else
3058                                                     {
3059                                                       /* 33222222222211111111110000000000
3060                                                          10987654321098765432109876543210
3061                                                          xxx11010110xxxxxx10100xxxxxxxxxx
3062                                                          crc32cb.  */
3063                                                       return 731;
3064                                                     }
3065                                                 }
3066                                               else
3067                                                 {
3068                                                   if (((word >> 30) & 0x1) == 0)
3069                                                     {
3070                                                       /* 33222222222211111111110000000000
3071                                                          10987654321098765432109876543210
3072                                                          x0x11010110xxxxxxx1100xxxxxxxxxx
3073                                                          pacga.  */
3074                                                       return 726;
3075                                                     }
3076                                                   else
3077                                                     {
3078                                                       /* 33222222222211111111110000000000
3079                                                          10987654321098765432109876543210
3080                                                          x1x11010110xxxxxxx1100xxxxxxxxxx
3081                                                          autiza.  */
3082                                                       return 705;
3083                                                     }
3084                                                 }
3085                                             }
3086                                         }
3087                                     }
3088                                 }
3089                               else
3090                                 {
3091                                   if (((word >> 22) & 0x1) == 0)
3092                                     {
3093                                       if (((word >> 14) & 0x1) == 0)
3094                                         {
3095                                           /* 33222222222211111111110000000000
3096                                              10987654321098765432109876543210
3097                                              xxx11010x00xxxxxx0xx10xxxxxxxxxx
3098                                              setf8.  */
3099                                           return 2079;
3100                                         }
3101                                       else
3102                                         {
3103                                           /* 33222222222211111111110000000000
3104                                              10987654321098765432109876543210
3105                                              xxx11010x00xxxxxx1xx10xxxxxxxxxx
3106                                              setf16.  */
3107                                           return 2080;
3108                                         }
3109                                     }
3110                                   else
3111                                     {
3112                                       if (((word >> 23) & 0x1) == 0)
3113                                         {
3114                                           if (((word >> 30) & 0x1) == 0)
3115                                             {
3116                                               /* 33222222222211111111110000000000
3117                                                  10987654321098765432109876543210
3118                                                  x0x11010010xxxxxxxxx10xxxxxxxxxx
3119                                                  ccmn.  */
3120                                               return 658;
3121                                             }
3122                                           else
3123                                             {
3124                                               /* 33222222222211111111110000000000
3125                                                  10987654321098765432109876543210
3126                                                  x1x11010010xxxxxxxxx10xxxxxxxxxx
3127                                                  ccmp.  */
3128                                               return 659;
3129                                             }
3130                                         }
3131                                       else
3132                                         {
3133                                           if (((word >> 12) & 0x1) == 0)
3134                                             {
3135                                               if (((word >> 13) & 0x1) == 0)
3136                                                 {
3137                                                   if (((word >> 14) & 0x1) == 0)
3138                                                     {
3139                                                       if (((word >> 30) & 0x1) == 0)
3140                                                         {
3141                                                           /* 33222222222211111111110000000000
3142                                                              10987654321098765432109876543210
3143                                                              x0x11010110xxxxxx00010xxxxxxxxxx
3144                                                              udiv.  */
3145                                                           return 711;
3146                                                         }
3147                                                       else
3148                                                         {
3149                                                           if (((word >> 16) & 0x1) == 0)
3150                                                             {
3151                                                               if (((word >> 31) & 0x1) == 0)
3152                                                                 {
3153                                                                   /* 33222222222211111111110000000000
3154                                                                      10987654321098765432109876543210
3155                                                                      01x11010110xxxx0x00010xxxxxxxxxx
3156                                                                      rev.  */
3157                                                                   return 687;
3158                                                                 }
3159                                                               else
3160                                                                 {
3161                                                                   /* 33222222222211111111110000000000
3162                                                                      10987654321098765432109876543210
3163                                                                      11x11010110xxxx0x00010xxxxxxxxxx
3164                                                                      rev32.  */
3165                                                                   return 692;
3166                                                                 }
3167                                                             }
3168                                                           else
3169                                                             {
3170                                                               /* 33222222222211111111110000000000
3171                                                                  10987654321098765432109876543210
3172                                                                  x1x11010110xxxx1x00010xxxxxxxxxx
3173                                                                  pacda.  */
3174                                                               return 695;
3175                                                             }
3176                                                         }
3177                                                     }
3178                                                   else
3179                                                     {
3180                                                       /* 33222222222211111111110000000000
3181                                                          10987654321098765432109876543210
3182                                                          xxx11010110xxxxxx10010xxxxxxxxxx
3183                                                          crc32w.  */
3184                                                       return 729;
3185                                                     }
3186                                                 }
3187                                               else
3188                                                 {
3189                                                   if (((word >> 30) & 0x1) == 0)
3190                                                     {
3191                                                       /* 33222222222211111111110000000000
3192                                                          10987654321098765432109876543210
3193                                                          x0x11010110xxxxxxx1010xxxxxxxxxx
3194                                                          asrv.  */
3195                                                       return 717;
3196                                                     }
3197                                                   else
3198                                                     {
3199                                                       /* 33222222222211111111110000000000
3200                                                          10987654321098765432109876543210
3201                                                          x1x11010110xxxxxxx1010xxxxxxxxxx
3202                                                          pacdza.  */
3203                                                       return 703;
3204                                                     }
3205                                                 }
3206                                             }
3207                                           else
3208                                             {
3209                                               if (((word >> 13) & 0x1) == 0)
3210                                                 {
3211                                                   if (((word >> 14) & 0x1) == 0)
3212                                                     {
3213                                                       /* 33222222222211111111110000000000
3214                                                          10987654321098765432109876543210
3215                                                          xxx11010110xxxxxx00110xxxxxxxxxx
3216                                                          autda.  */
3217                                                       return 699;
3218                                                     }
3219                                                   else
3220                                                     {
3221                                                       /* 33222222222211111111110000000000
3222                                                          10987654321098765432109876543210
3223                                                          xxx11010110xxxxxx10110xxxxxxxxxx
3224                                                          crc32cw.  */
3225                                                       return 733;
3226                                                     }
3227                                                 }
3228                                               else
3229                                                 {
3230                                                   /* 33222222222211111111110000000000
3231                                                      10987654321098765432109876543210
3232                                                      xxx11010110xxxxxxx1110xxxxxxxxxx
3233                                                      autdza.  */
3234                                                   return 707;
3235                                                 }
3236                                             }
3237                                         }
3238                                     }
3239                                 }
3240                             }
3241                           else
3242                             {
3243                               if (((word >> 11) & 0x1) == 0)
3244                                 {
3245                                   if (((word >> 22) & 0x1) == 0)
3246                                     {
3247                                       if (((word >> 23) & 0x1) == 0)
3248                                         {
3249                                           /* 33222222222211111111110000000000
3250                                              10987654321098765432109876543210
3251                                              xxx11010000xxxxxxxxx01xxxxxxxxxx
3252                                              rmif.  */
3253                                           return 2078;
3254                                         }
3255                                       else
3256                                         {
3257                                           if (((word >> 30) & 0x1) == 0)
3258                                             {
3259                                               /* 33222222222211111111110000000000
3260                                                  10987654321098765432109876543210
3261                                                  x0x11010100xxxxxxxxx01xxxxxxxxxx
3262                                                  csinc.  */
3263                                               return 663;
3264                                             }
3265                                           else
3266                                             {
3267                                               /* 33222222222211111111110000000000
3268                                                  10987654321098765432109876543210
3269                                                  x1x11010100xxxxxxxxx01xxxxxxxxxx
3270                                                  csneg.  */
3271                                               return 669;
3272                                             }
3273                                         }
3274                                     }
3275                                   else
3276                                     {
3277                                       if (((word >> 12) & 0x1) == 0)
3278                                         {
3279                                           if (((word >> 13) & 0x1) == 0)
3280                                             {
3281                                               if (((word >> 14) & 0x1) == 0)
3282                                                 {
3283                                                   if (((word >> 16) & 0x1) == 0)
3284                                                     {
3285                                                       /* 33222222222211111111110000000000
3286                                                          10987654321098765432109876543210
3287                                                          xxx11010x10xxxx0x00001xxxxxxxxxx
3288                                                          rev16.  */
3289                                                       return 686;
3290                                                     }
3291                                                   else
3292                                                     {
3293                                                       /* 33222222222211111111110000000000
3294                                                          10987654321098765432109876543210
3295                                                          xxx11010x10xxxx1x00001xxxxxxxxxx
3296                                                          pacib.  */
3297                                                       return 694;
3298                                                     }
3299                                                 }
3300                                               else
3301                                                 {
3302                                                   if (((word >> 30) & 0x1) == 0)
3303                                                     {
3304                                                       /* 33222222222211111111110000000000
3305                                                          10987654321098765432109876543210
3306                                                          x0x11010x10xxxxxx10001xxxxxxxxxx
3307                                                          crc32h.  */
3308                                                       return 728;
3309                                                     }
3310                                                   else
3311                                                     {
3312                                                       /* 33222222222211111111110000000000
3313                                                          10987654321098765432109876543210
3314                                                          x1x11010x10xxxxxx10001xxxxxxxxxx
3315                                                          xpacd.  */
3316                                                       return 710;
3317                                                     }
3318                                                 }
3319                                             }
3320                                           else
3321                                             {
3322                                               if (((word >> 30) & 0x1) == 0)
3323                                                 {
3324                                                   /* 33222222222211111111110000000000
3325                                                      10987654321098765432109876543210
3326                                                      x0x11010x10xxxxxxx1001xxxxxxxxxx
3327                                                      lsrv.  */
3328                                                   return 715;
3329                                                 }
3330                                               else
3331                                                 {
3332                                                   /* 33222222222211111111110000000000
3333                                                      10987654321098765432109876543210
3334                                                      x1x11010x10xxxxxxx1001xxxxxxxxxx
3335                                                      pacizb.  */
3336                                                   return 702;
3337                                                 }
3338                                             }
3339                                         }
3340                                       else
3341                                         {
3342                                           if (((word >> 13) & 0x1) == 0)
3343                                             {
3344                                               if (((word >> 14) & 0x1) == 0)
3345                                                 {
3346                                                   if (((word >> 30) & 0x1) == 0)
3347                                                     {
3348                                                       /* 33222222222211111111110000000000
3349                                                          10987654321098765432109876543210
3350                                                          x0x11010x10xxxxxx00101xxxxxxxxxx
3351                                                          gmi.  */
3352                                                       return 725;
3353                                                     }
3354                                                   else
3355                                                     {
3356                                                       if (((word >> 16) & 0x1) == 0)
3357                                                         {
3358                                                           /* 33222222222211111111110000000000
3359                                                              10987654321098765432109876543210
3360                                                              x1x11010x10xxxx0x00101xxxxxxxxxx
3361                                                              cls.  */
3362                                                           return 691;
3363                                                         }
3364                                                       else
3365                                                         {
3366                                                           /* 33222222222211111111110000000000
3367                                                              10987654321098765432109876543210
3368                                                              x1x11010x10xxxx1x00101xxxxxxxxxx
3369                                                              autib.  */
3370                                                           return 698;
3371                                                         }
3372                                                     }
3373                                                 }
3374                                               else
3375                                                 {
3376                                                   /* 33222222222211111111110000000000
3377                                                      10987654321098765432109876543210
3378                                                      xxx11010x10xxxxxx10101xxxxxxxxxx
3379                                                      crc32ch.  */
3380                                                   return 732;
3381                                                 }
3382                                             }
3383                                           else
3384                                             {
3385                                               /* 33222222222211111111110000000000
3386                                                  10987654321098765432109876543210
3387                                                  xxx11010x10xxxxxxx1101xxxxxxxxxx
3388                                                  autizb.  */
3389                                               return 706;
3390                                             }
3391                                         }
3392                                     }
3393                                 }
3394                               else
3395                                 {
3396                                   if (((word >> 12) & 0x1) == 0)
3397                                     {
3398                                       if (((word >> 13) & 0x1) == 0)
3399                                         {
3400                                           if (((word >> 14) & 0x1) == 0)
3401                                             {
3402                                               if (((word >> 30) & 0x1) == 0)
3403                                                 {
3404                                                   /* 33222222222211111111110000000000
3405                                                      10987654321098765432109876543210
3406                                                      x0x11010xx0xxxxxx00011xxxxxxxxxx
3407                                                      sdiv.  */
3408                                                   return 712;
3409                                                 }
3410                                               else
3411                                                 {
3412                                                   if (((word >> 16) & 0x1) == 0)
3413                                                     {
3414                                                       /* 33222222222211111111110000000000
3415                                                          10987654321098765432109876543210
3416                                                          x1x11010xx0xxxx0x00011xxxxxxxxxx
3417                                                          rev.  */
3418                                                       return 688;
3419                                                     }
3420                                                   else
3421                                                     {
3422                                                       /* 33222222222211111111110000000000
3423                                                          10987654321098765432109876543210
3424                                                          x1x11010xx0xxxx1x00011xxxxxxxxxx
3425                                                          pacdb.  */
3426                                                       return 696;
3427                                                     }
3428                                                 }
3429                                             }
3430                                           else
3431                                             {
3432                                               /* 33222222222211111111110000000000
3433                                                  10987654321098765432109876543210
3434                                                  xxx11010xx0xxxxxx10011xxxxxxxxxx
3435                                                  crc32x.  */
3436                                               return 730;
3437                                             }
3438                                         }
3439                                       else
3440                                         {
3441                                           if (((word >> 30) & 0x1) == 0)
3442                                             {
3443                                               /* 33222222222211111111110000000000
3444                                                  10987654321098765432109876543210
3445                                                  x0x11010xx0xxxxxxx1011xxxxxxxxxx
3446                                                  rorv.  */
3447                                               return 719;
3448                                             }
3449                                           else
3450                                             {
3451                                               /* 33222222222211111111110000000000
3452                                                  10987654321098765432109876543210
3453                                                  x1x11010xx0xxxxxxx1011xxxxxxxxxx
3454                                                  pacdzb.  */
3455                                               return 704;
3456                                             }
3457                                         }
3458                                     }
3459                                   else
3460                                     {
3461                                       if (((word >> 13) & 0x1) == 0)
3462                                         {
3463                                           if (((word >> 14) & 0x1) == 0)
3464                                             {
3465                                               /* 33222222222211111111110000000000
3466                                                  10987654321098765432109876543210
3467                                                  xxx11010xx0xxxxxx00111xxxxxxxxxx
3468                                                  autdb.  */
3469                                               return 700;
3470                                             }
3471                                           else
3472                                             {
3473                                               /* 33222222222211111111110000000000
3474                                                  10987654321098765432109876543210
3475                                                  xxx11010xx0xxxxxx10111xxxxxxxxxx
3476                                                  crc32cx.  */
3477                                               return 734;
3478                                             }
3479                                         }
3480                                       else
3481                                         {
3482                                           /* 33222222222211111111110000000000
3483                                              10987654321098765432109876543210
3484                                              xxx11010xx0xxxxxxx1111xxxxxxxxxx
3485                                              autdzb.  */
3486                                           return 708;
3487                                         }
3488                                     }
3489                                 }
3490                             }
3491                         }
3492                     }
3493                   else
3494                     {
3495                       if (((word >> 29) & 0x1) == 0)
3496                         {
3497                           if (((word >> 30) & 0x1) == 0)
3498                             {
3499                               /* 33222222222211111111110000000000
3500                                  10987654321098765432109876543210
3501                                  x00x1010xx1xxxxxxxxxxxxxxxxxxxxx
3502                                  bic.  */
3503                               return 997;
3504                             }
3505                           else
3506                             {
3507                               /* 33222222222211111111110000000000
3508                                  10987654321098765432109876543210
3509                                  x10x1010xx1xxxxxxxxxxxxxxxxxxxxx
3510                                  eon.  */
3511                               return 1004;
3512                             }
3513                         }
3514                       else
3515                         {
3516                           if (((word >> 30) & 0x1) == 0)
3517                             {
3518                               /* 33222222222211111111110000000000
3519                                  10987654321098765432109876543210
3520                                  x01x1010xx1xxxxxxxxxxxxxxxxxxxxx
3521                                  orn.  */
3522                               return 1001;
3523                             }
3524                           else
3525                             {
3526                               /* 33222222222211111111110000000000
3527                                  10987654321098765432109876543210
3528                                  x11x1010xx1xxxxxxxxxxxxxxxxxxxxx
3529                                  bics.  */
3530                               return 1007;
3531                             }
3532                         }
3533                     }
3534                 }
3535             }
3536           else
3537             {
3538               if (((word >> 27) & 0x1) == 0)
3539                 {
3540                   if (((word >> 23) & 0x1) == 0)
3541                     {
3542                       if (((word >> 29) & 0x1) == 0)
3543                         {
3544                           if (((word >> 30) & 0x1) == 0)
3545                             {
3546                               /* 33222222222211111111110000000000
3547                                  10987654321098765432109876543210
3548                                  x00x00110xxxxxxxxxxxxxxxxxxxxxxx
3549                                  sbfm.  */
3550                               return 618;
3551                             }
3552                           else
3553                             {
3554                               /* 33222222222211111111110000000000
3555                                  10987654321098765432109876543210
3556                                  x10x00110xxxxxxxxxxxxxxxxxxxxxxx
3557                                  ubfm.  */
3558                               return 629;
3559                             }
3560                         }
3561                       else
3562                         {
3563                           /* 33222222222211111111110000000000
3564                              10987654321098765432109876543210
3565                              xx1x00110xxxxxxxxxxxxxxxxxxxxxxx
3566                              bfm.  */
3567                           return 625;
3568                         }
3569                     }
3570                   else
3571                     {
3572                       /* 33222222222211111111110000000000
3573                          10987654321098765432109876543210
3574                          xxxx00111xxxxxxxxxxxxxxxxxxxxxxx
3575                          extr.  */
3576                       return 757;
3577                     }
3578                 }
3579               else
3580                 {
3581                   if (((word >> 21) & 0x1) == 0)
3582                     {
3583                       if (((word >> 28) & 0x1) == 0)
3584                         {
3585                           if (((word >> 29) & 0x1) == 0)
3586                             {
3587                               if (((word >> 30) & 0x1) == 0)
3588                                 {
3589                                   /* 33222222222211111111110000000000
3590                                      10987654321098765432109876543210
3591                                      x0001011xx0xxxxxxxxxxxxxxxxxxxxx
3592                                      add.  */
3593                                   return 21;
3594                                 }
3595                               else
3596                                 {
3597                                   /* 33222222222211111111110000000000
3598                                      10987654321098765432109876543210
3599                                      x1001011xx0xxxxxxxxxxxxxxxxxxxxx
3600                                      sub.  */
3601                                   return 24;
3602                                 }
3603                             }
3604                           else
3605                             {
3606                               if (((word >> 30) & 0x1) == 0)
3607                                 {
3608                                   /* 33222222222211111111110000000000
3609                                      10987654321098765432109876543210
3610                                      x0101011xx0xxxxxxxxxxxxxxxxxxxxx
3611                                      adds.  */
3612                                   return 22;
3613                                 }
3614                               else
3615                                 {
3616                                   /* 33222222222211111111110000000000
3617                                      10987654321098765432109876543210
3618                                      x1101011xx0xxxxxxxxxxxxxxxxxxxxx
3619                                      subs.  */
3620                                   return 26;
3621                                 }
3622                             }
3623                         }
3624                       else
3625                         {
3626                           if (((word >> 15) & 0x1) == 0)
3627                             {
3628                               if (((word >> 22) & 0x1) == 0)
3629                                 {
3630                                   /* 33222222222211111111110000000000
3631                                      10987654321098765432109876543210
3632                                      xxx11011x00xxxxx0xxxxxxxxxxxxxxx
3633                                      madd.  */
3634                                   return 735;
3635                                 }
3636                               else
3637                                 {
3638                                   if (((word >> 23) & 0x1) == 0)
3639                                     {
3640                                       /* 33222222222211111111110000000000
3641                                          10987654321098765432109876543210
3642                                          xxx11011010xxxxx0xxxxxxxxxxxxxxx
3643                                          smulh.  */
3644                                       return 743;
3645                                     }
3646                                   else
3647                                     {
3648                                       /* 33222222222211111111110000000000
3649                                          10987654321098765432109876543210
3650                                          xxx11011110xxxxx0xxxxxxxxxxxxxxx
3651                                          umulh.  */
3652                                       return 748;
3653                                     }
3654                                 }
3655                             }
3656                           else
3657                             {
3658                               /* 33222222222211111111110000000000
3659                                  10987654321098765432109876543210
3660                                  xxx11011xx0xxxxx1xxxxxxxxxxxxxxx
3661                                  msub.  */
3662                               return 737;
3663                             }
3664                         }
3665                     }
3666                   else
3667                     {
3668                       if (((word >> 23) & 0x1) == 0)
3669                         {
3670                           if (((word >> 28) & 0x1) == 0)
3671                             {
3672                               if (((word >> 29) & 0x1) == 0)
3673                                 {
3674                                   if (((word >> 30) & 0x1) == 0)
3675                                     {
3676                                       /* 33222222222211111111110000000000
3677                                          10987654321098765432109876543210
3678                                          x00010110x1xxxxxxxxxxxxxxxxxxxxx
3679                                          add.  */
3680                                       return 6;
3681                                     }
3682                                   else
3683                                     {
3684                                       /* 33222222222211111111110000000000
3685                                          10987654321098765432109876543210
3686                                          x10010110x1xxxxxxxxxxxxxxxxxxxxx
3687                                          sub.  */
3688                                       return 9;
3689                                     }
3690                                 }
3691                               else
3692                                 {
3693                                   if (((word >> 30) & 0x1) == 0)
3694                                     {
3695                                       /* 33222222222211111111110000000000
3696                                          10987654321098765432109876543210
3697                                          x01010110x1xxxxxxxxxxxxxxxxxxxxx
3698                                          adds.  */
3699                                       return 7;
3700                                     }
3701                                   else
3702                                     {
3703                                       /* 33222222222211111111110000000000
3704                                          10987654321098765432109876543210
3705                                          x11010110x1xxxxxxxxxxxxxxxxxxxxx
3706                                          subs.  */
3707                                       return 10;
3708                                     }
3709                                 }
3710                             }
3711                           else
3712                             {
3713                               if (((word >> 15) & 0x1) == 0)
3714                                 {
3715                                   /* 33222222222211111111110000000000
3716                                      10987654321098765432109876543210
3717                                      xxx110110x1xxxxx0xxxxxxxxxxxxxxx
3718                                      smaddl.  */
3719                                   return 739;
3720                                 }
3721                               else
3722                                 {
3723                                   /* 33222222222211111111110000000000
3724                                      10987654321098765432109876543210
3725                                      xxx110110x1xxxxx1xxxxxxxxxxxxxxx
3726                                      smsubl.  */
3727                                   return 741;
3728                                 }
3729                             }
3730                         }
3731                       else
3732                         {
3733                           if (((word >> 15) & 0x1) == 0)
3734                             {
3735                               /* 33222222222211111111110000000000
3736                                  10987654321098765432109876543210
3737                                  xxxx10111x1xxxxx0xxxxxxxxxxxxxxx
3738                                  umaddl.  */
3739                               return 744;
3740                             }
3741                           else
3742                             {
3743                               /* 33222222222211111111110000000000
3744                                  10987654321098765432109876543210
3745                                  xxxx10111x1xxxxx1xxxxxxxxxxxxxxx
3746                                  umsubl.  */
3747                               return 746;
3748                             }
3749                         }
3750                     }
3751                 }
3752             }
3753         }
3754     }
3755   else
3756     {
3757       if (((word >> 27) & 0x1) == 0)
3758         {
3759           if (((word >> 28) & 0x1) == 0)
3760             {
3761               if (((word >> 24) & 0x1) == 0)
3762                 {
3763                   if (((word >> 29) & 0x1) == 0)
3764                     {
3765                       if (((word >> 13) & 0x1) == 0)
3766                         {
3767                           if (((word >> 14) & 0x1) == 0)
3768                             {
3769                               if (((word >> 15) & 0x1) == 0)
3770                                 {
3771                                   if (((word >> 21) & 0x1) == 0)
3772                                     {
3773                                       if (((word >> 30) & 0x1) == 0)
3774                                         {
3775                                           if (((word >> 31) & 0x1) == 0)
3776                                             {
3777                                               if (((word >> 16) & 0x1) == 0)
3778                                                 {
3779                                                   if (((word >> 17) & 0x1) == 0)
3780                                                     {
3781                                                       if (((word >> 18) & 0x1) == 0)
3782                                                         {
3783                                                           if (((word >> 19) & 0x1) == 0)
3784                                                             {
3785                                                               if (((word >> 20) & 0x1) == 0)
3786                                                                 {
3787                                                                   /* 33222222222211111111110000000000
3788                                                                      10987654321098765432109876543210
3789                                                                      000001x0xx000000000xxxxxxxxxxxxx
3790                                                                      add.  */
3791                                                                   return 1270;
3792                                                                 }
3793                                                               else
3794                                                                 {
3795                                                                   /* 33222222222211111111110000000000
3796                                                                      10987654321098765432109876543210
3797                                                                      000001x0xx010000000xxxxxxxxxxxxx
3798                                                                      mul.  */
3799                                                                   return 1739;
3800                                                                 }
3801                                                             }
3802                                                           else
3803                                                             {
3804                                                               if (((word >> 20) & 0x1) == 0)
3805                                                                 {
3806                                                                   /* 33222222222211111111110000000000
3807                                                                      10987654321098765432109876543210
3808                                                                      000001x0xx001000000xxxxxxxxxxxxx
3809                                                                      smax.  */
3810                                                                   return 1818;
3811                                                                 }
3812                                                               else
3813                                                                 {
3814                                                                   /* 33222222222211111111110000000000
3815                                                                      10987654321098765432109876543210
3816                                                                      000001x0xx011000000xxxxxxxxxxxxx
3817                                                                      orr.  */
3818                                                                   return 1750;
3819                                                                 }
3820                                                             }
3821                                                         }
3822                                                       else
3823                                                         {
3824                                                           if (((word >> 19) & 0x1) == 0)
3825                                                             {
3826                                                               /* 33222222222211111111110000000000
3827                                                                  10987654321098765432109876543210
3828                                                                  000001x0xx0x0100000xxxxxxxxxxxxx
3829                                                                  sdiv.  */
3830                                                               return 1809;
3831                                                             }
3832                                                           else
3833                                                             {
3834                                                               /* 33222222222211111111110000000000
3835                                                                  10987654321098765432109876543210
3836                                                                  000001x0xx0x1100000xxxxxxxxxxxxx
3837                                                                  sabd.  */
3838                                                               return 1800;
3839                                                             }
3840                                                         }
3841                                                     }
3842                                                   else
3843                                                     {
3844                                                       if (((word >> 18) & 0x1) == 0)
3845                                                         {
3846                                                           if (((word >> 19) & 0x1) == 0)
3847                                                             {
3848                                                               /* 33222222222211111111110000000000
3849                                                                  10987654321098765432109876543210
3850                                                                  000001x0xx0x0010000xxxxxxxxxxxxx
3851                                                                  smulh.  */
3852                                                               return 1823;
3853                                                             }
3854                                                           else
3855                                                             {
3856                                                               if (((word >> 20) & 0x1) == 0)
3857                                                                 {
3858                                                                   /* 33222222222211111111110000000000
3859                                                                      10987654321098765432109876543210
3860                                                                      000001x0xx001010000xxxxxxxxxxxxx
3861                                                                      smin.  */
3862                                                                   return 1821;
3863                                                                 }
3864                                                               else
3865                                                                 {
3866                                                                   /* 33222222222211111111110000000000
3867                                                                      10987654321098765432109876543210
3868                                                                      000001x0xx011010000xxxxxxxxxxxxx
3869                                                                      and.  */
3870                                                                   return 1278;
3871                                                                 }
3872                                                             }
3873                                                         }
3874                                                       else
3875                                                         {
3876                                                           /* 33222222222211111111110000000000
3877                                                              10987654321098765432109876543210
3878                                                              000001x0xx0xx110000xxxxxxxxxxxxx
3879                                                              sdivr.  */
3880                                                           return 1810;
3881                                                         }
3882                                                     }
3883                                                 }
3884                                               else
3885                                                 {
3886                                                   if (((word >> 17) & 0x1) == 0)
3887                                                     {
3888                                                       if (((word >> 18) & 0x1) == 0)
3889                                                         {
3890                                                           if (((word >> 19) & 0x1) == 0)
3891                                                             {
3892                                                               /* 33222222222211111111110000000000
3893                                                                  10987654321098765432109876543210
3894                                                                  000001x0xx0x0001000xxxxxxxxxxxxx
3895                                                                  sub.  */
3896                                                               return 1939;
3897                                                             }
3898                                                           else
3899                                                             {
3900                                                               if (((word >> 20) & 0x1) == 0)
3901                                                                 {
3902                                                                   /* 33222222222211111111110000000000
3903                                                                      10987654321098765432109876543210
3904                                                                      000001x0xx001001000xxxxxxxxxxxxx
3905                                                                      umax.  */
3906                                                                   return 1967;
3907                                                                 }
3908                                                               else
3909                                                                 {
3910                                                                   /* 33222222222211111111110000000000
3911                                                                      10987654321098765432109876543210
3912                                                                      000001x0xx011001000xxxxxxxxxxxxx
3913                                                                      eor.  */
3914                                                                   return 1365;
3915                                                                 }
3916                                                             }
3917                                                         }
3918                                                       else
3919                                                         {
3920                                                           if (((word >> 19) & 0x1) == 0)
3921                                                             {
3922                                                               /* 33222222222211111111110000000000
3923                                                                  10987654321098765432109876543210
3924                                                                  000001x0xx0x0101000xxxxxxxxxxxxx
3925                                                                  udiv.  */
3926                                                               return 1961;
3927                                                             }
3928                                                           else
3929                                                             {
3930                                                               /* 33222222222211111111110000000000
3931                                                                  10987654321098765432109876543210
3932                                                                  000001x0xx0x1101000xxxxxxxxxxxxx
3933                                                                  uabd.  */
3934                                                               return 1952;
3935                                                             }
3936                                                         }
3937                                                     }
3938                                                   else
3939                                                     {
3940                                                       if (((word >> 18) & 0x1) == 0)
3941                                                         {
3942                                                           if (((word >> 19) & 0x1) == 0)
3943                                                             {
3944                                                               if (((word >> 20) & 0x1) == 0)
3945                                                                 {
3946                                                                   /* 33222222222211111111110000000000
3947                                                                      10987654321098765432109876543210
3948                                                                      000001x0xx000011000xxxxxxxxxxxxx
3949                                                                      subr.  */
3950                                                                   return 1941;
3951                                                                 }
3952                                                               else
3953                                                                 {
3954                                                                   /* 33222222222211111111110000000000
3955                                                                      10987654321098765432109876543210
3956                                                                      000001x0xx010011000xxxxxxxxxxxxx
3957                                                                      umulh.  */
3958                                                                   return 1972;
3959                                                                 }
3960                                                             }
3961                                                           else
3962                                                             {
3963                                                               if (((word >> 20) & 0x1) == 0)
3964                                                                 {
3965                                                                   /* 33222222222211111111110000000000
3966                                                                      10987654321098765432109876543210
3967                                                                      000001x0xx001011000xxxxxxxxxxxxx
3968                                                                      umin.  */
3969                                                                   return 1970;
3970                                                                 }
3971                                                               else
3972                                                                 {
3973                                                                   /* 33222222222211111111110000000000
3974                                                                      10987654321098765432109876543210
3975                                                                      000001x0xx011011000xxxxxxxxxxxxx
3976                                                                      bic.  */
3977                                                                   return 1290;
3978                                                                 }
3979                                                             }
3980                                                         }
3981                                                       else
3982                                                         {
3983                                                           /* 33222222222211111111110000000000
3984                                                              10987654321098765432109876543210
3985                                                              000001x0xx0xx111000xxxxxxxxxxxxx
3986                                                              udivr.  */
3987                                                           return 1962;
3988                                                         }
3989                                                     }
3990                                                 }
3991                                             }
3992                                           else
3993                                             {
3994                                               if (((word >> 23) & 0x1) == 0)
3995                                                 {
3996                                                   /* 33222222222211111111110000000000
3997                                                      10987654321098765432109876543210
3998                                                      100001x00x0xxxxx000xxxxxxxxxxxxx
3999                                                      ld1sb.  */
4000                                                   return 1552;
4001                                                 }
4002                                               else
4003                                                 {
4004                                                   /* 33222222222211111111110000000000
4005                                                      10987654321098765432109876543210
4006                                                      100001x01x0xxxxx000xxxxxxxxxxxxx
4007                                                      ld1sh.  */
4008                                                   return 1563;
4009                                                 }
4010                                             }
4011                                         }
4012                                       else
4013                                         {
4014                                           if (((word >> 23) & 0x1) == 0)
4015                                             {
4016                                               /* 33222222222211111111110000000000
4017                                                  10987654321098765432109876543210
4018                                                  x10001x00x0xxxxx000xxxxxxxxxxxxx
4019                                                  ld1sb.  */
4020                                               return 1556;
4021                                             }
4022                                           else
4023                                             {
4024                                               if (((word >> 31) & 0x1) == 0)
4025                                                 {
4026                                                   if (((word >> 10) & 0x1) == 0)
4027                                                     {
4028                                                       /* 33222222222211111111110000000000
4029                                                          10987654321098765432109876543210
4030                                                          010001x01x0xxxxx000xx0xxxxxxxxxx
4031                                                          sdot.  */
4032                                                       return 1811;
4033                                                     }
4034                                                   else
4035                                                     {
4036                                                       /* 33222222222211111111110000000000
4037                                                          10987654321098765432109876543210
4038                                                          010001x01x0xxxxx000xx1xxxxxxxxxx
4039                                                          udot.  */
4040                                                       return 1963;
4041                                                     }
4042                                                 }
4043                                               else
4044                                                 {
4045                                                   /* 33222222222211111111110000000000
4046                                                      10987654321098765432109876543210
4047                                                      110001x01x0xxxxx000xxxxxxxxxxxxx
4048                                                      ld1sh.  */
4049                                                   return 1567;
4050                                                 }
4051                                             }
4052                                         }
4053                                     }
4054                                   else
4055                                     {
4056                                       if (((word >> 30) & 0x1) == 0)
4057                                         {
4058                                           if (((word >> 31) & 0x1) == 0)
4059                                             {
4060                                               if (((word >> 10) & 0x1) == 0)
4061                                                 {
4062                                                   if (((word >> 11) & 0x1) == 0)
4063                                                     {
4064                                                       if (((word >> 12) & 0x1) == 0)
4065                                                         {
4066                                                           /* 33222222222211111111110000000000
4067                                                              10987654321098765432109876543210
4068                                                              000001x0xx1xxxxx000000xxxxxxxxxx
4069                                                              add.  */
4070                                                           return 1268;
4071                                                         }
4072                                                       else
4073                                                         {
4074                                                           /* 33222222222211111111110000000000
4075                                                              10987654321098765432109876543210
4076                                                              000001x0xx1xxxxx000100xxxxxxxxxx
4077                                                              sqadd.  */
4078                                                           return 1825;
4079                                                         }
4080                                                     }
4081                                                   else
4082                                                     {
4083                                                       /* 33222222222211111111110000000000
4084                                                          10987654321098765432109876543210
4085                                                          000001x0xx1xxxxx000x10xxxxxxxxxx
4086                                                          sqsub.  */
4087                                                       return 1855;
4088                                                     }
4089                                                 }
4090                                               else
4091                                                 {
4092                                                   if (((word >> 11) & 0x1) == 0)
4093                                                     {
4094                                                       if (((word >> 12) & 0x1) == 0)
4095                                                         {
4096                                                           /* 33222222222211111111110000000000
4097                                                              10987654321098765432109876543210
4098                                                              000001x0xx1xxxxx000001xxxxxxxxxx
4099                                                              sub.  */
4100                                                           return 1937;
4101                                                         }
4102                                                       else
4103                                                         {
4104                                                           /* 33222222222211111111110000000000
4105                                                              10987654321098765432109876543210
4106                                                              000001x0xx1xxxxx000101xxxxxxxxxx
4107                                                              uqadd.  */
4108                                                           return 1973;
4109                                                         }
4110                                                     }
4111                                                   else
4112                                                     {
4113                                                       /* 33222222222211111111110000000000
4114                                                          10987654321098765432109876543210
4115                                                          000001x0xx1xxxxx000x11xxxxxxxxxx
4116                                                          uqsub.  */
4117                                                       return 2003;
4118                                                     }
4119                                                 }
4120                                             }
4121                                           else
4122                                             {
4123                                               if (((word >> 23) & 0x1) == 0)
4124                                                 {
4125                                                   /* 33222222222211111111110000000000
4126                                                      10987654321098765432109876543210
4127                                                      100001x00x1xxxxx000xxxxxxxxxxxxx
4128                                                      prfb.  */
4129                                                   return 1758;
4130                                                 }
4131                                               else
4132                                                 {
4133                                                   /* 33222222222211111111110000000000
4134                                                      10987654321098765432109876543210
4135                                                      100001x01x1xxxxx000xxxxxxxxxxxxx
4136                                                      ld1sh.  */
4137                                                   return 1564;
4138                                                 }
4139                                             }
4140                                         }
4141                                       else
4142                                         {
4143                                           if (((word >> 23) & 0x1) == 0)
4144                                             {
4145                                               /* 33222222222211111111110000000000
4146                                                  10987654321098765432109876543210
4147                                                  x10001x00x1xxxxx000xxxxxxxxxxxxx
4148                                                  prfb.  */
4149                                               return 1759;
4150                                             }
4151                                           else
4152                                             {
4153                                               if (((word >> 31) & 0x1) == 0)
4154                                                 {
4155                                                   if (((word >> 10) & 0x1) == 0)
4156                                                     {
4157                                                       if (((word >> 22) & 0x1) == 0)
4158                                                         {
4159                                                           /* 33222222222211111111110000000000
4160                                                              10987654321098765432109876543210
4161                                                              010001x0101xxxxx000xx0xxxxxxxxxx
4162                                                              sdot.  */
4163                                                           return 1812;
4164                                                         }
4165                                                       else
4166                                                         {
4167                                                           /* 33222222222211111111110000000000
4168                                                              10987654321098765432109876543210
4169                                                              010001x0111xxxxx000xx0xxxxxxxxxx
4170                                                              sdot.  */
4171                                                           return 1813;
4172                                                         }
4173                                                     }
4174                                                   else
4175                                                     {
4176                                                       if (((word >> 22) & 0x1) == 0)
4177                                                         {
4178                                                           /* 33222222222211111111110000000000
4179                                                              10987654321098765432109876543210
4180                                                              010001x0101xxxxx000xx1xxxxxxxxxx
4181                                                              udot.  */
4182                                                           return 1964;
4183                                                         }
4184                                                       else
4185                                                         {
4186                                                           /* 33222222222211111111110000000000
4187                                                              10987654321098765432109876543210
4188                                                              010001x0111xxxxx000xx1xxxxxxxxxx
4189                                                              udot.  */
4190                                                           return 1965;
4191                                                         }
4192                                                     }
4193                                                 }
4194                                               else
4195                                                 {
4196                                                   /* 33222222222211111111110000000000
4197                                                      10987654321098765432109876543210
4198                                                      110001x01x1xxxxx000xxxxxxxxxxxxx
4199                                                      ld1sh.  */
4200                                                   return 1568;
4201                                                 }
4202                                             }
4203                                         }
4204                                     }
4205                                 }
4206                               else
4207                                 {
4208                                   if (((word >> 30) & 0x1) == 0)
4209                                     {
4210                                       if (((word >> 31) & 0x1) == 0)
4211                                         {
4212                                           if (((word >> 21) & 0x1) == 0)
4213                                             {
4214                                               if (((word >> 16) & 0x1) == 0)
4215                                                 {
4216                                                   if (((word >> 18) & 0x1) == 0)
4217                                                     {
4218                                                       if (((word >> 19) & 0x1) == 0)
4219                                                         {
4220                                                           if (((word >> 20) & 0x1) == 0)
4221                                                             {
4222                                                               /* 33222222222211111111110000000000
4223                                                                  10987654321098765432109876543210
4224                                                                  000001x0xx0000x0100xxxxxxxxxxxxx
4225                                                                  asr.  */
4226                                                               return 1286;
4227                                                             }
4228                                                           else
4229                                                             {
4230                                                               /* 33222222222211111111110000000000
4231                                                                  10987654321098765432109876543210
4232                                                                  000001x0xx0100x0100xxxxxxxxxxxxx
4233                                                                  asr.  */
4234                                                               return 1284;
4235                                                             }
4236                                                         }
4237                                                       else
4238                                                         {
4239                                                           /* 33222222222211111111110000000000
4240                                                              10987654321098765432109876543210
4241                                                              000001x0xx0x10x0100xxxxxxxxxxxxx
4242                                                              asr.  */
4243                                                           return 1285;
4244                                                         }
4245                                                     }
4246                                                   else
4247                                                     {
4248                                                       if (((word >> 20) & 0x1) == 0)
4249                                                         {
4250                                                           /* 33222222222211111111110000000000
4251                                                              10987654321098765432109876543210
4252                                                              000001x0xx00x1x0100xxxxxxxxxxxxx
4253                                                              asrd.  */
4254                                                           return 1287;
4255                                                         }
4256                                                       else
4257                                                         {
4258                                                           /* 33222222222211111111110000000000
4259                                                              10987654321098765432109876543210
4260                                                              000001x0xx01x1x0100xxxxxxxxxxxxx
4261                                                              asrr.  */
4262                                                           return 1288;
4263                                                         }
4264                                                     }
4265                                                 }
4266                                               else
4267                                                 {
4268                                                   if (((word >> 17) & 0x1) == 0)
4269                                                     {
4270                                                       if (((word >> 18) & 0x1) == 0)
4271                                                         {
4272                                                           if (((word >> 19) & 0x1) == 0)
4273                                                             {
4274                                                               if (((word >> 20) & 0x1) == 0)
4275                                                                 {
4276                                                                   /* 33222222222211111111110000000000
4277                                                                      10987654321098765432109876543210
4278                                                                      000001x0xx000001100xxxxxxxxxxxxx
4279                                                                      lsr.  */
4280                                                                   return 1730;
4281                                                                 }
4282                                                               else
4283                                                                 {
4284                                                                   /* 33222222222211111111110000000000
4285                                                                      10987654321098765432109876543210
4286                                                                      000001x0xx010001100xxxxxxxxxxxxx
4287                                                                      lsr.  */
4288                                                                   return 1728;
4289                                                                 }
4290                                                             }
4291                                                           else
4292                                                             {
4293                                                               /* 33222222222211111111110000000000
4294                                                                  10987654321098765432109876543210
4295                                                                  000001x0xx0x1001100xxxxxxxxxxxxx
4296                                                                  lsr.  */
4297                                                               return 1729;
4298                                                             }
4299                                                         }
4300                                                       else
4301                                                         {
4302                                                           /* 33222222222211111111110000000000
4303                                                              10987654321098765432109876543210
4304                                                              000001x0xx0xx101100xxxxxxxxxxxxx
4305                                                              lsrr.  */
4306                                                           return 1731;
4307                                                         }
4308                                                     }
4309                                                   else
4310                                                     {
4311                                                       if (((word >> 18) & 0x1) == 0)
4312                                                         {
4313                                                           if (((word >> 19) & 0x1) == 0)
4314                                                             {
4315                                                               if (((word >> 20) & 0x1) == 0)
4316                                                                 {
4317                                                                   /* 33222222222211111111110000000000
4318                                                                      10987654321098765432109876543210
4319                                                                      000001x0xx000011100xxxxxxxxxxxxx
4320                                                                      lsl.  */
4321                                                                   return 1724;
4322                                                                 }
4323                                                               else
4324                                                                 {
4325                                                                   /* 33222222222211111111110000000000
4326                                                                      10987654321098765432109876543210
4327                                                                      000001x0xx010011100xxxxxxxxxxxxx
4328                                                                      lsl.  */
4329                                                                   return 1722;
4330                                                                 }
4331                                                             }
4332                                                           else
4333                                                             {
4334                                                               /* 33222222222211111111110000000000
4335                                                                  10987654321098765432109876543210
4336                                                                  000001x0xx0x1011100xxxxxxxxxxxxx
4337                                                                  lsl.  */
4338                                                               return 1723;
4339                                                             }
4340                                                         }
4341                                                       else
4342                                                         {
4343                                                           /* 33222222222211111111110000000000
4344                                                              10987654321098765432109876543210
4345                                                              000001x0xx0xx111100xxxxxxxxxxxxx
4346                                                              lslr.  */
4347                                                           return 1725;
4348                                                         }
4349                                                     }
4350                                                 }
4351                                             }
4352                                           else
4353                                             {
4354                                               if (((word >> 10) & 0x1) == 0)
4355                                                 {
4356                                                   if (((word >> 12) & 0x1) == 0)
4357                                                     {
4358                                                       /* 33222222222211111111110000000000
4359                                                          10987654321098765432109876543210
4360                                                          000001x0xx1xxxxx1000x0xxxxxxxxxx
4361                                                          asr.  */
4362                                                       return 1282;
4363                                                     }
4364                                                   else
4365                                                     {
4366                                                       /* 33222222222211111111110000000000
4367                                                          10987654321098765432109876543210
4368                                                          000001x0xx1xxxxx1001x0xxxxxxxxxx
4369                                                          asr.  */
4370                                                       return 1283;
4371                                                     }
4372                                                 }
4373                                               else
4374                                                 {
4375                                                   if (((word >> 11) & 0x1) == 0)
4376                                                     {
4377                                                       if (((word >> 12) & 0x1) == 0)
4378                                                         {
4379                                                           /* 33222222222211111111110000000000
4380                                                              10987654321098765432109876543210
4381                                                              000001x0xx1xxxxx100001xxxxxxxxxx
4382                                                              lsr.  */
4383                                                           return 1726;
4384                                                         }
4385                                                       else
4386                                                         {
4387                                                           /* 33222222222211111111110000000000
4388                                                              10987654321098765432109876543210
4389                                                              000001x0xx1xxxxx100101xxxxxxxxxx
4390                                                              lsr.  */
4391                                                           return 1727;
4392                                                         }
4393                                                     }
4394                                                   else
4395                                                     {
4396                                                       if (((word >> 12) & 0x1) == 0)
4397                                                         {
4398                                                           /* 33222222222211111111110000000000
4399                                                              10987654321098765432109876543210
4400                                                              000001x0xx1xxxxx100011xxxxxxxxxx
4401                                                              lsl.  */
4402                                                           return 1720;
4403                                                         }
4404                                                       else
4405                                                         {
4406                                                           /* 33222222222211111111110000000000
4407                                                              10987654321098765432109876543210
4408                                                              000001x0xx1xxxxx100111xxxxxxxxxx
4409                                                              lsl.  */
4410                                                           return 1721;
4411                                                         }
4412                                                     }
4413                                                 }
4414                                             }
4415                                         }
4416                                       else
4417                                         {
4418                                           if (((word >> 22) & 0x1) == 0)
4419                                             {
4420                                               if (((word >> 23) & 0x1) == 0)
4421                                                 {
4422                                                   /* 33222222222211111111110000000000
4423                                                      10987654321098765432109876543210
4424                                                      100001x000xxxxxx100xxxxxxxxxxxxx
4425                                                      ld1sb.  */
4426                                                   return 1558;
4427                                                 }
4428                                               else
4429                                                 {
4430                                                   /* 33222222222211111111110000000000
4431                                                      10987654321098765432109876543210
4432                                                      100001x010xxxxxx100xxxxxxxxxxxxx
4433                                                      ld1sh.  */
4434                                                   return 1571;
4435                                                 }
4436                                             }
4437                                           else
4438                                             {
4439                                               if (((word >> 23) & 0x1) == 0)
4440                                                 {
4441                                                   /* 33222222222211111111110000000000
4442                                                      10987654321098765432109876543210
4443                                                      100001x001xxxxxx100xxxxxxxxxxxxx
4444                                                      ld1rb.  */
4445                                                   return 1528;
4446                                                 }
4447                                               else
4448                                                 {
4449                                                   /* 33222222222211111111110000000000
4450                                                      10987654321098765432109876543210
4451                                                      100001x011xxxxxx100xxxxxxxxxxxxx
4452                                                      ld1rsw.  */
4453                                                   return 1549;
4454                                                 }
4455                                             }
4456                                         }
4457                                     }
4458                                   else
4459                                     {
4460                                       if (((word >> 21) & 0x1) == 0)
4461                                         {
4462                                           if (((word >> 23) & 0x1) == 0)
4463                                             {
4464                                               /* 33222222222211111111110000000000
4465                                                  10987654321098765432109876543210
4466                                                  x10001x00x0xxxxx100xxxxxxxxxxxxx
4467                                                  ld1sb.  */
4468                                               return 1557;
4469                                             }
4470                                           else
4471                                             {
4472                                               /* 33222222222211111111110000000000
4473                                                  10987654321098765432109876543210
4474                                                  x10001x01x0xxxxx100xxxxxxxxxxxxx
4475                                                  ld1sh.  */
4476                                               return 1569;
4477                                             }
4478                                         }
4479                                       else
4480                                         {
4481                                           if (((word >> 22) & 0x1) == 0)
4482                                             {
4483                                               if (((word >> 23) & 0x1) == 0)
4484                                                 {
4485                                                   /* 33222222222211111111110000000000
4486                                                      10987654321098765432109876543210
4487                                                      x10001x0001xxxxx100xxxxxxxxxxxxx
4488                                                      ld1sb.  */
4489                                                   return 1562;
4490                                                 }
4491                                               else
4492                                                 {
4493                                                   /* 33222222222211111111110000000000
4494                                                      10987654321098765432109876543210
4495                                                      x10001x0101xxxxx100xxxxxxxxxxxxx
4496                                                      ld1sh.  */
4497                                                   return 1574;
4498                                                 }
4499                                             }
4500                                           else
4501                                             {
4502                                               if (((word >> 23) & 0x1) == 0)
4503                                                 {
4504                                                   /* 33222222222211111111110000000000
4505                                                      10987654321098765432109876543210
4506                                                      x10001x0011xxxxx100xxxxxxxxxxxxx
4507                                                      prfb.  */
4508                                                   return 1760;
4509                                                 }
4510                                               else
4511                                                 {
4512                                                   /* 33222222222211111111110000000000
4513                                                      10987654321098765432109876543210
4514                                                      x10001x0111xxxxx100xxxxxxxxxxxxx
4515                                                      ld1sh.  */
4516                                                   return 1570;
4517                                                 }
4518                                             }
4519                                         }
4520                                     }
4521                                 }
4522                             }
4523                           else
4524                             {
4525                               if (((word >> 15) & 0x1) == 0)
4526                                 {
4527                                   if (((word >> 21) & 0x1) == 0)
4528                                     {
4529                                       if (((word >> 30) & 0x1) == 0)
4530                                         {
4531                                           if (((word >> 31) & 0x1) == 0)
4532                                             {
4533                                               /* 33222222222211111111110000000000
4534                                                  10987654321098765432109876543210
4535                                                  000001x0xx0xxxxx010xxxxxxxxxxxxx
4536                                                  mla.  */
4537                                               return 1733;
4538                                             }
4539                                           else
4540                                             {
4541                                               if (((word >> 23) & 0x1) == 0)
4542                                                 {
4543                                                   /* 33222222222211111111110000000000
4544                                                      10987654321098765432109876543210
4545                                                      100001x00x0xxxxx010xxxxxxxxxxxxx
4546                                                      ld1b.  */
4547                                                   return 1494;
4548                                                 }
4549                                               else
4550                                                 {
4551                                                   /* 33222222222211111111110000000000
4552                                                      10987654321098765432109876543210
4553                                                      100001x01x0xxxxx010xxxxxxxxxxxxx
4554                                                      ld1h.  */
4555                                                   return 1514;
4556                                                 }
4557                                             }
4558                                         }
4559                                       else
4560                                         {
4561                                           if (((word >> 23) & 0x1) == 0)
4562                                             {
4563                                               /* 33222222222211111111110000000000
4564                                                  10987654321098765432109876543210
4565                                                  x10001x00x0xxxxx010xxxxxxxxxxxxx
4566                                                  ld1b.  */
4567                                               return 1499;
4568                                             }
4569                                           else
4570                                             {
4571                                               /* 33222222222211111111110000000000
4572                                                  10987654321098765432109876543210
4573                                                  x10001x01x0xxxxx010xxxxxxxxxxxxx
4574                                                  ld1h.  */
4575                                               return 1519;
4576                                             }
4577                                         }
4578                                     }
4579                                   else
4580                                     {
4581                                       if (((word >> 30) & 0x1) == 0)
4582                                         {
4583                                           if (((word >> 31) & 0x1) == 0)
4584                                             {
4585                                               if (((word >> 11) & 0x1) == 0)
4586                                                 {
4587                                                   if (((word >> 12) & 0x1) == 0)
4588                                                     {
4589                                                       if (((word >> 10) & 0x1) == 0)
4590                                                         {
4591                                                           /* 33222222222211111111110000000000
4592                                                              10987654321098765432109876543210
4593                                                              000001x0xx1xxxxx010000xxxxxxxxxx
4594                                                              index.  */
4595                                                           return 1485;
4596                                                         }
4597                                                       else
4598                                                         {
4599                                                           /* 33222222222211111111110000000000
4600                                                              10987654321098765432109876543210
4601                                                              000001x0xx1xxxxx010001xxxxxxxxxx
4602                                                              index.  */
4603                                                           return 1486;
4604                                                         }
4605                                                     }
4606                                                   else
4607                                                     {
4608                                                       if (((word >> 22) & 0x1) == 0)
4609                                                         {
4610                                                           if (((word >> 23) & 0x1) == 0)
4611                                                             {
4612                                                               /* 33222222222211111111110000000000
4613                                                                  10987654321098765432109876543210
4614                                                                  000001x0001xxxxx01010xxxxxxxxxxx
4615                                                                  addvl.  */
4616                                                               return 1272;
4617                                                             }
4618                                                           else
4619                                                             {
4620                                                               /* 33222222222211111111110000000000
4621                                                                  10987654321098765432109876543210
4622                                                                  000001x0101xxxxx01010xxxxxxxxxxx
4623                                                                  rdvl.  */
4624                                                               return 1794;
4625                                                             }
4626                                                         }
4627                                                       else
4628                                                         {
4629                                                           /* 33222222222211111111110000000000
4630                                                              10987654321098765432109876543210
4631                                                              000001x0x11xxxxx01010xxxxxxxxxxx
4632                                                              addpl.  */
4633                                                           return 1271;
4634                                                         }
4635                                                     }
4636                                                 }
4637                                               else
4638                                                 {
4639                                                   if (((word >> 10) & 0x1) == 0)
4640                                                     {
4641                                                       /* 33222222222211111111110000000000
4642                                                          10987654321098765432109876543210
4643                                                          000001x0xx1xxxxx010x10xxxxxxxxxx
4644                                                          index.  */
4645                                                       return 1487;
4646                                                     }
4647                                                   else
4648                                                     {
4649                                                       /* 33222222222211111111110000000000
4650                                                          10987654321098765432109876543210
4651                                                          000001x0xx1xxxxx010x11xxxxxxxxxx
4652                                                          index.  */
4653                                                       return 1484;
4654                                                     }
4655                                                 }
4656                                             }
4657                                           else
4658                                             {
4659                                               if (((word >> 23) & 0x1) == 0)
4660                                                 {
4661                                                   /* 33222222222211111111110000000000
4662                                                      10987654321098765432109876543210
4663                                                      100001x00x1xxxxx010xxxxxxxxxxxxx
4664                                                      prfw.  */
4665                                                   return 1778;
4666                                                 }
4667                                               else
4668                                                 {
4669                                                   /* 33222222222211111111110000000000
4670                                                      10987654321098765432109876543210
4671                                                      100001x01x1xxxxx010xxxxxxxxxxxxx
4672                                                      ld1h.  */
4673                                                   return 1515;
4674                                                 }
4675                                             }
4676                                         }
4677                                       else
4678                                         {
4679                                           if (((word >> 23) & 0x1) == 0)
4680                                             {
4681                                               /* 33222222222211111111110000000000
4682                                                  10987654321098765432109876543210
4683                                                  x10001x00x1xxxxx010xxxxxxxxxxxxx
4684                                                  prfw.  */
4685                                               return 1780;
4686                                             }
4687                                           else
4688                                             {
4689                                               /* 33222222222211111111110000000000
4690                                                  10987654321098765432109876543210
4691                                                  x10001x01x1xxxxx010xxxxxxxxxxxxx
4692                                                  ld1h.  */
4693                                               return 1520;
4694                                             }
4695                                         }
4696                                     }
4697                                 }
4698                               else
4699                                 {
4700                                   if (((word >> 30) & 0x1) == 0)
4701                                     {
4702                                       if (((word >> 31) & 0x1) == 0)
4703                                         {
4704                                           if (((word >> 21) & 0x1) == 0)
4705                                             {
4706                                               /* 33222222222211111111110000000000
4707                                                  10987654321098765432109876543210
4708                                                  000001x0xx0xxxxx110xxxxxxxxxxxxx
4709                                                  mad.  */
4710                                               return 1732;
4711                                             }
4712                                           else
4713                                             {
4714                                               if (((word >> 10) & 0x1) == 0)
4715                                                 {
4716                                                   if (((word >> 11) & 0x1) == 0)
4717                                                     {
4718                                                       if (((word >> 20) & 0x1) == 0)
4719                                                         {
4720                                                           if (((word >> 22) & 0x1) == 0)
4721                                                             {
4722                                                               /* 33222222222211111111110000000000
4723                                                                  10987654321098765432109876543210
4724                                                                  000001x0x010xxxx110x00xxxxxxxxxx
4725                                                                  sqincw.  */
4726                                                               return 1852;
4727                                                             }
4728                                                           else
4729                                                             {
4730                                                               if (((word >> 23) & 0x1) == 0)
4731                                                                 {
4732                                                                   /* 33222222222211111111110000000000
4733                                                                      10987654321098765432109876543210
4734                                                                      000001x00110xxxx110x00xxxxxxxxxx
4735                                                                      sqinch.  */
4736                                                                   return 1846;
4737                                                                 }
4738                                                               else
4739                                                                 {
4740                                                                   /* 33222222222211111111110000000000
4741                                                                      10987654321098765432109876543210
4742                                                                      000001x01110xxxx110x00xxxxxxxxxx
4743                                                                      sqincd.  */
4744                                                                   return 1843;
4745                                                                 }
4746                                                             }
4747                                                         }
4748                                                       else
4749                                                         {
4750                                                           if (((word >> 22) & 0x1) == 0)
4751                                                             {
4752                                                               /* 33222222222211111111110000000000
4753                                                                  10987654321098765432109876543210
4754                                                                  000001x0x011xxxx110x00xxxxxxxxxx
4755                                                                  incw.  */
4756                                                               return 1482;
4757                                                             }
4758                                                           else
4759                                                             {
4760                                                               if (((word >> 23) & 0x1) == 0)
4761                                                                 {
4762                                                                   /* 33222222222211111111110000000000
4763                                                                      10987654321098765432109876543210
4764                                                                      000001x00111xxxx110x00xxxxxxxxxx
4765                                                                      inch.  */
4766                                                                   return 1478;
4767                                                                 }
4768                                                               else
4769                                                                 {
4770                                                                   /* 33222222222211111111110000000000
4771                                                                      10987654321098765432109876543210
4772                                                                      000001x01111xxxx110x00xxxxxxxxxx
4773                                                                      incd.  */
4774                                                                   return 1476;
4775                                                                 }
4776                                                             }
4777                                                         }
4778                                                     }
4779                                                   else
4780                                                     {
4781                                                       if (((word >> 22) & 0x1) == 0)
4782                                                         {
4783                                                           /* 33222222222211111111110000000000
4784                                                              10987654321098765432109876543210
4785                                                              000001x0x01xxxxx110x10xxxxxxxxxx
4786                                                              sqdecw.  */
4787                                                           return 1838;
4788                                                         }
4789                                                       else
4790                                                         {
4791                                                           if (((word >> 23) & 0x1) == 0)
4792                                                             {
4793                                                               /* 33222222222211111111110000000000
4794                                                                  10987654321098765432109876543210
4795                                                                  000001x0011xxxxx110x10xxxxxxxxxx
4796                                                                  sqdech.  */
4797                                                               return 1832;
4798                                                             }
4799                                                           else
4800                                                             {
4801                                                               /* 33222222222211111111110000000000
4802                                                                  10987654321098765432109876543210
4803                                                                  000001x0111xxxxx110x10xxxxxxxxxx
4804                                                                  sqdecd.  */
4805                                                               return 1829;
4806                                                             }
4807                                                         }
4808                                                     }
4809                                                 }
4810                                               else
4811                                                 {
4812                                                   if (((word >> 11) & 0x1) == 0)
4813                                                     {
4814                                                       if (((word >> 20) & 0x1) == 0)
4815                                                         {
4816                                                           if (((word >> 22) & 0x1) == 0)
4817                                                             {
4818                                                               /* 33222222222211111111110000000000
4819                                                                  10987654321098765432109876543210
4820                                                                  000001x0x010xxxx110x01xxxxxxxxxx
4821                                                                  uqincw.  */
4822                                                               return 2000;
4823                                                             }
4824                                                           else
4825                                                             {
4826                                                               if (((word >> 23) & 0x1) == 0)
4827                                                                 {
4828                                                                   /* 33222222222211111111110000000000
4829                                                                      10987654321098765432109876543210
4830                                                                      000001x00110xxxx110x01xxxxxxxxxx
4831                                                                      uqinch.  */
4832                                                                   return 1994;
4833                                                                 }
4834                                                               else
4835                                                                 {
4836                                                                   /* 33222222222211111111110000000000
4837                                                                      10987654321098765432109876543210
4838                                                                      000001x01110xxxx110x01xxxxxxxxxx
4839                                                                      uqincd.  */
4840                                                                   return 1991;
4841                                                                 }
4842                                                             }
4843                                                         }
4844                                                       else
4845                                                         {
4846                                                           if (((word >> 22) & 0x1) == 0)
4847                                                             {
4848                                                               /* 33222222222211111111110000000000
4849                                                                  10987654321098765432109876543210
4850                                                                  000001x0x011xxxx110x01xxxxxxxxxx
4851                                                                  decw.  */
4852                                                               return 1357;
4853                                                             }
4854                                                           else
4855                                                             {
4856                                                               if (((word >> 23) & 0x1) == 0)
4857                                                                 {
4858                                                                   /* 33222222222211111111110000000000
4859                                                                      10987654321098765432109876543210
4860                                                                      000001x00111xxxx110x01xxxxxxxxxx
4861                                                                      dech.  */
4862                                                                   return 1353;
4863                                                                 }
4864                                                               else
4865                                                                 {
4866                                                                   /* 33222222222211111111110000000000
4867                                                                      10987654321098765432109876543210
4868                                                                      000001x01111xxxx110x01xxxxxxxxxx
4869                                                                      decd.  */
4870                                                                   return 1351;
4871                                                                 }
4872                                                             }
4873                                                         }
4874                                                     }
4875                                                   else
4876                                                     {
4877                                                       if (((word >> 22) & 0x1) == 0)
4878                                                         {
4879                                                           /* 33222222222211111111110000000000
4880                                                              10987654321098765432109876543210
4881                                                              000001x0x01xxxxx110x11xxxxxxxxxx
4882                                                              uqdecw.  */
4883                                                           return 1986;
4884                                                         }
4885                                                       else
4886                                                         {
4887                                                           if (((word >> 23) & 0x1) == 0)
4888                                                             {
4889                                                               /* 33222222222211111111110000000000
4890                                                                  10987654321098765432109876543210
4891                                                                  000001x0011xxxxx110x11xxxxxxxxxx
4892                                                                  uqdech.  */
4893                                                               return 1980;
4894                                                             }
4895                                                           else
4896                                                             {
4897                                                               /* 33222222222211111111110000000000
4898                                                                  10987654321098765432109876543210
4899                                                                  000001x0111xxxxx110x11xxxxxxxxxx
4900                                                                  uqdecd.  */
4901                                                               return 1977;
4902                                                             }
4903                                                         }
4904                                                     }
4905                                                 }
4906                                             }
4907                                         }
4908                                       else
4909                                         {
4910                                           if (((word >> 22) & 0x1) == 0)
4911                                             {
4912                                               if (((word >> 21) & 0x1) == 0)
4913                                                 {
4914                                                   if (((word >> 23) & 0x1) == 0)
4915                                                     {
4916                                                       /* 33222222222211111111110000000000
4917                                                          10987654321098765432109876543210
4918                                                          100001x0000xxxxx110xxxxxxxxxxxxx
4919                                                          prfb.  */
4920                                                       return 1757;
4921                                                     }
4922                                                   else
4923                                                     {
4924                                                       /* 33222222222211111111110000000000
4925                                                          10987654321098765432109876543210
4926                                                          100001x0100xxxxx110xxxxxxxxxxxxx
4927                                                          prfh.  */
4928                                                       return 1772;
4929                                                     }
4930                                                 }
4931                                               else
4932                                                 {
4933                                                   if (((word >> 23) & 0x1) == 0)
4934                                                     {
4935                                                       /* 33222222222211111111110000000000
4936                                                          10987654321098765432109876543210
4937                                                          100001x0001xxxxx110xxxxxxxxxxxxx
4938                                                          ld1b.  */
4939                                                       return 1501;
4940                                                     }
4941                                                   else
4942                                                     {
4943                                                       /* 33222222222211111111110000000000
4944                                                          10987654321098765432109876543210
4945                                                          100001x0101xxxxx110xxxxxxxxxxxxx
4946                                                          ld1h.  */
4947                                                       return 1523;
4948                                                     }
4949                                                 }
4950                                             }
4951                                           else
4952                                             {
4953                                               if (((word >> 23) & 0x1) == 0)
4954                                                 {
4955                                                   /* 33222222222211111111110000000000
4956                                                      10987654321098765432109876543210
4957                                                      100001x001xxxxxx110xxxxxxxxxxxxx
4958                                                      ld1rb.  */
4959                                                   return 1530;
4960                                                 }
4961                                               else
4962                                                 {
4963                                                   /* 33222222222211111111110000000000
4964                                                      10987654321098765432109876543210
4965                                                      100001x011xxxxxx110xxxxxxxxxxxxx
4966                                                      ld1rh.  */
4967                                                   return 1534;
4968                                                 }
4969                                             }
4970                                         }
4971                                     }
4972                                   else
4973                                     {
4974                                       if (((word >> 21) & 0x1) == 0)
4975                                         {
4976                                           if (((word >> 23) & 0x1) == 0)
4977                                             {
4978                                               /* 33222222222211111111110000000000
4979                                                  10987654321098765432109876543210
4980                                                  x10001x00x0xxxxx110xxxxxxxxxxxxx
4981                                                  ld1b.  */
4982                                               return 1500;
4983                                             }
4984                                           else
4985                                             {
4986                                               /* 33222222222211111111110000000000
4987                                                  10987654321098765432109876543210
4988                                                  x10001x01x0xxxxx110xxxxxxxxxxxxx
4989                                                  ld1h.  */
4990                                               return 1521;
4991                                             }
4992                                         }
4993                                       else
4994                                         {
4995                                           if (((word >> 22) & 0x1) == 0)
4996                                             {
4997                                               if (((word >> 23) & 0x1) == 0)
4998                                                 {
4999                                                   /* 33222222222211111111110000000000
5000                                                      10987654321098765432109876543210
5001                                                      x10001x0001xxxxx110xxxxxxxxxxxxx
5002                                                      ld1b.  */
5003                                                   return 1506;
5004                                                 }
5005                                               else
5006                                                 {
5007                                                   /* 33222222222211111111110000000000
5008                                                      10987654321098765432109876543210
5009                                                      x10001x0101xxxxx110xxxxxxxxxxxxx
5010                                                      ld1h.  */
5011                                                   return 1527;
5012                                                 }
5013                                             }
5014                                           else
5015                                             {
5016                                               if (((word >> 23) & 0x1) == 0)
5017                                                 {
5018                                                   /* 33222222222211111111110000000000
5019                                                      10987654321098765432109876543210
5020                                                      x10001x0011xxxxx110xxxxxxxxxxxxx
5021                                                      prfw.  */
5022                                                   return 1781;
5023                                                 }
5024                                               else
5025                                                 {
5026                                                   /* 33222222222211111111110000000000
5027                                                      10987654321098765432109876543210
5028                                                      x10001x0111xxxxx110xxxxxxxxxxxxx
5029                                                      ld1h.  */
5030                                                   return 1522;
5031                                                 }
5032                                             }
5033                                         }
5034                                     }
5035                                 }
5036                             }
5037                         }
5038                       else
5039                         {
5040                           if (((word >> 14) & 0x1) == 0)
5041                             {
5042                               if (((word >> 15) & 0x1) == 0)
5043                                 {
5044                                   if (((word >> 21) & 0x1) == 0)
5045                                     {
5046                                       if (((word >> 30) & 0x1) == 0)
5047                                         {
5048                                           if (((word >> 31) & 0x1) == 0)
5049                                             {
5050                                               if (((word >> 17) & 0x1) == 0)
5051                                                 {
5052                                                   if (((word >> 19) & 0x1) == 0)
5053                                                     {
5054                                                       if (((word >> 20) & 0x1) == 0)
5055                                                         {
5056                                                           if (((word >> 16) & 0x1) == 0)
5057                                                             {
5058                                                               /* 33222222222211111111110000000000
5059                                                                  10987654321098765432109876543210
5060                                                                  000001x0xx000x00001xxxxxxxxxxxxx
5061                                                                  saddv.  */
5062                                                               return 1801;
5063                                                             }
5064                                                           else
5065                                                             {
5066                                                               /* 33222222222211111111110000000000
5067                                                                  10987654321098765432109876543210
5068                                                                  000001x0xx000x01001xxxxxxxxxxxxx
5069                                                                  uaddv.  */
5070                                                               return 1953;
5071                                                             }
5072                                                         }
5073                                                       else
5074                                                         {
5075                                                           /* 33222222222211111111110000000000
5076                                                              10987654321098765432109876543210
5077                                                              000001x0xx010x0x001xxxxxxxxxxxxx
5078                                                              movprfx.  */
5079                                                           return 1736;
5080                                                         }
5081                                                     }
5082                                                   else
5083                                                     {
5084                                                       if (((word >> 16) & 0x1) == 0)
5085                                                         {
5086                                                           if (((word >> 20) & 0x1) == 0)
5087                                                             {
5088                                                               /* 33222222222211111111110000000000
5089                                                                  10987654321098765432109876543210
5090                                                                  000001x0xx001x00001xxxxxxxxxxxxx
5091                                                                  smaxv.  */
5092                                                               return 1819;
5093                                                             }
5094                                                           else
5095                                                             {
5096                                                               /* 33222222222211111111110000000000
5097                                                                  10987654321098765432109876543210
5098                                                                  000001x0xx011x00001xxxxxxxxxxxxx
5099                                                                  orv.  */
5100                                                               return 1753;
5101                                                             }
5102                                                         }
5103                                                       else
5104                                                         {
5105                                                           if (((word >> 20) & 0x1) == 0)
5106                                                             {
5107                                                               /* 33222222222211111111110000000000
5108                                                                  10987654321098765432109876543210
5109                                                                  000001x0xx001x01001xxxxxxxxxxxxx
5110                                                                  umaxv.  */
5111                                                               return 1968;
5112                                                             }
5113                                                           else
5114                                                             {
5115                                                               /* 33222222222211111111110000000000
5116                                                                  10987654321098765432109876543210
5117                                                                  000001x0xx011x01001xxxxxxxxxxxxx
5118                                                                  eorv.  */
5119                                                               return 1368;
5120                                                             }
5121                                                         }
5122                                                     }
5123                                                 }
5124                                               else
5125                                                 {
5126                                                   if (((word >> 16) & 0x1) == 0)
5127                                                     {
5128                                                       if (((word >> 20) & 0x1) == 0)
5129                                                         {
5130                                                           /* 33222222222211111111110000000000
5131                                                              10987654321098765432109876543210
5132                                                              000001x0xx00xx10001xxxxxxxxxxxxx
5133                                                              sminv.  */
5134                                                           return 1822;
5135                                                         }
5136                                                       else
5137                                                         {
5138                                                           /* 33222222222211111111110000000000
5139                                                              10987654321098765432109876543210
5140                                                              000001x0xx01xx10001xxxxxxxxxxxxx
5141                                                              andv.  */
5142                                                           return 1281;
5143                                                         }
5144                                                     }
5145                                                   else
5146                                                     {
5147                                                       /* 33222222222211111111110000000000
5148                                                          10987654321098765432109876543210
5149                                                          000001x0xx0xxx11001xxxxxxxxxxxxx
5150                                                          uminv.  */
5151                                                       return 1971;
5152                                                     }
5153                                                 }
5154                                             }
5155                                           else
5156                                             {
5157                                               if (((word >> 23) & 0x1) == 0)
5158                                                 {
5159                                                   /* 33222222222211111111110000000000
5160                                                      10987654321098765432109876543210
5161                                                      100001x00x0xxxxx001xxxxxxxxxxxxx
5162                                                      ldff1sb.  */
5163                                                   return 1652;
5164                                                 }
5165                                               else
5166                                                 {
5167                                                   /* 33222222222211111111110000000000
5168                                                      10987654321098765432109876543210
5169                                                      100001x01x0xxxxx001xxxxxxxxxxxxx
5170                                                      ldff1sh.  */
5171                                                   return 1663;
5172                                                 }
5173                                             }
5174                                         }
5175                                       else
5176                                         {
5177                                           if (((word >> 23) & 0x1) == 0)
5178                                             {
5179                                               /* 33222222222211111111110000000000
5180                                                  10987654321098765432109876543210
5181                                                  x10001x00x0xxxxx001xxxxxxxxxxxxx
5182                                                  ldff1sb.  */
5183                                               return 1659;
5184                                             }
5185                                           else
5186                                             {
5187                                               /* 33222222222211111111110000000000
5188                                                  10987654321098765432109876543210
5189                                                  x10001x01x0xxxxx001xxxxxxxxxxxxx
5190                                                  ldff1sh.  */
5191                                               return 1669;
5192                                             }
5193                                         }
5194                                     }
5195                                   else
5196                                     {
5197                                       if (((word >> 23) & 0x1) == 0)
5198                                         {
5199                                           if (((word >> 30) & 0x1) == 0)
5200                                             {
5201                                               if (((word >> 31) & 0x1) == 0)
5202                                                 {
5203                                                   if (((word >> 22) & 0x1) == 0)
5204                                                     {
5205                                                       /* 33222222222211111111110000000000
5206                                                          10987654321098765432109876543210
5207                                                          000001x0001xxxxx001xxxxxxxxxxxxx
5208                                                          and.  */
5209                                                       return 1276;
5210                                                     }
5211                                                   else
5212                                                     {
5213                                                       /* 33222222222211111111110000000000
5214                                                          10987654321098765432109876543210
5215                                                          000001x0011xxxxx001xxxxxxxxxxxxx
5216                                                          orr.  */
5217                                                       return 1748;
5218                                                     }
5219                                                 }
5220                                               else
5221                                                 {
5222                                                   /* 33222222222211111111110000000000
5223                                                      10987654321098765432109876543210
5224                                                      100001x00x1xxxxx001xxxxxxxxxxxxx
5225                                                      prfh.  */
5226                                                   return 1771;
5227                                                 }
5228                                             }
5229                                           else
5230                                             {
5231                                               /* 33222222222211111111110000000000
5232                                                  10987654321098765432109876543210
5233                                                  x10001x00x1xxxxx001xxxxxxxxxxxxx
5234                                                  prfh.  */
5235                                               return 1773;
5236                                             }
5237                                         }
5238                                       else
5239                                         {
5240                                           if (((word >> 30) & 0x1) == 0)
5241                                             {
5242                                               if (((word >> 31) & 0x1) == 0)
5243                                                 {
5244                                                   if (((word >> 22) & 0x1) == 0)
5245                                                     {
5246                                                       /* 33222222222211111111110000000000
5247                                                          10987654321098765432109876543210
5248                                                          000001x0101xxxxx001xxxxxxxxxxxxx
5249                                                          eor.  */
5250                                                       return 1363;
5251                                                     }
5252                                                   else
5253                                                     {
5254                                                       /* 33222222222211111111110000000000
5255                                                          10987654321098765432109876543210
5256                                                          000001x0111xxxxx001xxxxxxxxxxxxx
5257                                                          bic.  */
5258                                                       return 1289;
5259                                                     }
5260                                                 }
5261                                               else
5262                                                 {
5263                                                   /* 33222222222211111111110000000000
5264                                                      10987654321098765432109876543210
5265                                                      100001x01x1xxxxx001xxxxxxxxxxxxx
5266                                                      ldff1sh.  */
5267                                                   return 1664;
5268                                                 }
5269                                             }
5270                                           else
5271                                             {
5272                                               /* 33222222222211111111110000000000
5273                                                  10987654321098765432109876543210
5274                                                  x10001x01x1xxxxx001xxxxxxxxxxxxx
5275                                                  ldff1sh.  */
5276                                               return 1670;
5277                                             }
5278                                         }
5279                                     }
5280                                 }
5281                               else
5282                                 {
5283                                   if (((word >> 30) & 0x1) == 0)
5284                                     {
5285                                       if (((word >> 31) & 0x1) == 0)
5286                                         {
5287                                           if (((word >> 21) & 0x1) == 0)
5288                                             {
5289                                               if (((word >> 16) & 0x1) == 0)
5290                                                 {
5291                                                   if (((word >> 17) & 0x1) == 0)
5292                                                     {
5293                                                       if (((word >> 18) & 0x1) == 0)
5294                                                         {
5295                                                           if (((word >> 19) & 0x1) == 0)
5296                                                             {
5297                                                               /* 33222222222211111111110000000000
5298                                                                  10987654321098765432109876543210
5299                                                                  000001x0xx0x0000101xxxxxxxxxxxxx
5300                                                                  sxtb.  */
5301                                                               return 1944;
5302                                                             }
5303                                                           else
5304                                                             {
5305                                                               /* 33222222222211111111110000000000
5306                                                                  10987654321098765432109876543210
5307                                                                  000001x0xx0x1000101xxxxxxxxxxxxx
5308                                                                  cls.  */
5309                                                               return 1309;
5310                                                             }
5311                                                         }
5312                                                       else
5313                                                         {
5314                                                           if (((word >> 19) & 0x1) == 0)
5315                                                             {
5316                                                               /* 33222222222211111111110000000000
5317                                                                  10987654321098765432109876543210
5318                                                                  000001x0xx0x0100101xxxxxxxxxxxxx
5319                                                                  sxtw.  */
5320                                                               return 1946;
5321                                                             }
5322                                                           else
5323                                                             {
5324                                                               /* 33222222222211111111110000000000
5325                                                                  10987654321098765432109876543210
5326                                                                  000001x0xx0x1100101xxxxxxxxxxxxx
5327                                                                  fabs.  */
5328                                                               return 1371;
5329                                                             }
5330                                                         }
5331                                                     }
5332                                                   else
5333                                                     {
5334                                                       if (((word >> 18) & 0x1) == 0)
5335                                                         {
5336                                                           if (((word >> 19) & 0x1) == 0)
5337                                                             {
5338                                                               /* 33222222222211111111110000000000
5339                                                                  10987654321098765432109876543210
5340                                                                  000001x0xx0x0010101xxxxxxxxxxxxx
5341                                                                  sxth.  */
5342                                                               return 1945;
5343                                                             }
5344                                                           else
5345                                                             {
5346                                                               /* 33222222222211111111110000000000
5347                                                                  10987654321098765432109876543210
5348                                                                  000001x0xx0x1010101xxxxxxxxxxxxx
5349                                                                  cnt.  */
5350                                                               return 1338;
5351                                                             }
5352                                                         }
5353                                                       else
5354                                                         {
5355                                                           if (((word >> 19) & 0x1) == 0)
5356                                                             {
5357                                                               /* 33222222222211111111110000000000
5358                                                                  10987654321098765432109876543210
5359                                                                  000001x0xx0x0110101xxxxxxxxxxxxx
5360                                                                  abs.  */
5361                                                               return 1267;
5362                                                             }
5363                                                           else
5364                                                             {
5365                                                               /* 33222222222211111111110000000000
5366                                                                  10987654321098765432109876543210
5367                                                                  000001x0xx0x1110101xxxxxxxxxxxxx
5368                                                                  not.  */
5369                                                               return 1745;
5370                                                             }
5371                                                         }
5372                                                     }
5373                                                 }
5374                                               else
5375                                                 {
5376                                                   if (((word >> 17) & 0x1) == 0)
5377                                                     {
5378                                                       if (((word >> 18) & 0x1) == 0)
5379                                                         {
5380                                                           if (((word >> 19) & 0x1) == 0)
5381                                                             {
5382                                                               /* 33222222222211111111110000000000
5383                                                                  10987654321098765432109876543210
5384                                                                  000001x0xx0x0001101xxxxxxxxxxxxx
5385                                                                  uxtb.  */
5386                                                               return 2007;
5387                                                             }
5388                                                           else
5389                                                             {
5390                                                               /* 33222222222211111111110000000000
5391                                                                  10987654321098765432109876543210
5392                                                                  000001x0xx0x1001101xxxxxxxxxxxxx
5393                                                                  clz.  */
5394                                                               return 1310;
5395                                                             }
5396                                                         }
5397                                                       else
5398                                                         {
5399                                                           if (((word >> 19) & 0x1) == 0)
5400                                                             {
5401                                                               /* 33222222222211111111110000000000
5402                                                                  10987654321098765432109876543210
5403                                                                  000001x0xx0x0101101xxxxxxxxxxxxx
5404                                                                  uxtw.  */
5405                                                               return 2009;
5406                                                             }
5407                                                           else
5408                                                             {
5409                                                               /* 33222222222211111111110000000000
5410                                                                  10987654321098765432109876543210
5411                                                                  000001x0xx0x1101101xxxxxxxxxxxxx
5412                                                                  fneg.  */
5413                                                               return 1448;
5414                                                             }
5415                                                         }
5416                                                     }
5417                                                   else
5418                                                     {
5419                                                       if (((word >> 18) & 0x1) == 0)
5420                                                         {
5421                                                           if (((word >> 19) & 0x1) == 0)
5422                                                             {
5423                                                               /* 33222222222211111111110000000000
5424                                                                  10987654321098765432109876543210
5425                                                                  000001x0xx0x0011101xxxxxxxxxxxxx
5426                                                                  uxth.  */
5427                                                               return 2008;
5428                                                             }
5429                                                           else
5430                                                             {
5431                                                               /* 33222222222211111111110000000000
5432                                                                  10987654321098765432109876543210
5433                                                                  000001x0xx0x1011101xxxxxxxxxxxxx
5434                                                                  cnot.  */
5435                                                               return 1337;
5436                                                             }
5437                                                         }
5438                                                       else
5439                                                         {
5440                                                           /* 33222222222211111111110000000000
5441                                                              10987654321098765432109876543210
5442                                                              000001x0xx0xx111101xxxxxxxxxxxxx
5443                                                              neg.  */
5444                                                           return 1742;
5445                                                         }
5446                                                     }
5447                                                 }
5448                                             }
5449                                           else
5450                                             {
5451                                               if (((word >> 12) & 0x1) == 0)
5452                                                 {
5453                                                   if (((word >> 23) & 0x1) == 0)
5454                                                     {
5455                                                       if (((word >> 22) & 0x1) == 0)
5456                                                         {
5457                                                           /* 33222222222211111111110000000000
5458                                                              10987654321098765432109876543210
5459                                                              000001x0001xxxxx1010xxxxxxxxxxxx
5460                                                              adr.  */
5461                                                           return 1273;
5462                                                         }
5463                                                       else
5464                                                         {
5465                                                           /* 33222222222211111111110000000000
5466                                                              10987654321098765432109876543210
5467                                                              000001x0011xxxxx1010xxxxxxxxxxxx
5468                                                              adr.  */
5469                                                           return 1274;
5470                                                         }
5471                                                     }
5472                                                   else
5473                                                     {
5474                                                       /* 33222222222211111111110000000000
5475                                                          10987654321098765432109876543210
5476                                                          000001x01x1xxxxx1010xxxxxxxxxxxx
5477                                                          adr.  */
5478                                                       return 1275;
5479                                                     }
5480                                                 }
5481                                               else
5482                                                 {
5483                                                   if (((word >> 10) & 0x1) == 0)
5484                                                     {
5485                                                       if (((word >> 11) & 0x1) == 0)
5486                                                         {
5487                                                           /* 33222222222211111111110000000000
5488                                                              10987654321098765432109876543210
5489                                                              000001x0xx1xxxxx101100xxxxxxxxxx
5490                                                              ftssel.  */
5491                                                           return 1474;
5492                                                         }
5493                                                       else
5494                                                         {
5495                                                           /* 33222222222211111111110000000000
5496                                                              10987654321098765432109876543210
5497                                                              000001x0xx1xxxxx101110xxxxxxxxxx
5498                                                              fexpa.  */
5499                                                           return 1418;
5500                                                         }
5501                                                     }
5502                                                   else
5503                                                     {
5504                                                       /* 33222222222211111111110000000000
5505                                                          10987654321098765432109876543210
5506                                                          000001x0xx1xxxxx1011x1xxxxxxxxxx
5507                                                          movprfx.  */
5508                                                       return 1735;
5509                                                     }
5510                                                 }
5511                                             }
5512                                         }
5513                                       else
5514                                         {
5515                                           if (((word >> 22) & 0x1) == 0)
5516                                             {
5517                                               if (((word >> 23) & 0x1) == 0)
5518                                                 {
5519                                                   /* 33222222222211111111110000000000
5520                                                      10987654321098765432109876543210
5521                                                      100001x000xxxxxx101xxxxxxxxxxxxx
5522                                                      ldff1sb.  */
5523                                                   return 1661;
5524                                                 }
5525                                               else
5526                                                 {
5527                                                   /* 33222222222211111111110000000000
5528                                                      10987654321098765432109876543210
5529                                                      100001x010xxxxxx101xxxxxxxxxxxxx
5530                                                      ldff1sh.  */
5531                                                   return 1673;
5532                                                 }
5533                                             }
5534                                           else
5535                                             {
5536                                               if (((word >> 23) & 0x1) == 0)
5537                                                 {
5538                                                   /* 33222222222211111111110000000000
5539                                                      10987654321098765432109876543210
5540                                                      100001x001xxxxxx101xxxxxxxxxxxxx
5541                                                      ld1rb.  */
5542                                                   return 1529;
5543                                                 }
5544                                               else
5545                                                 {
5546                                                   /* 33222222222211111111110000000000
5547                                                      10987654321098765432109876543210
5548                                                      100001x011xxxxxx101xxxxxxxxxxxxx
5549                                                      ld1rh.  */
5550                                                   return 1533;
5551                                                 }
5552                                             }
5553                                         }
5554                                     }
5555                                   else
5556                                     {
5557                                       if (((word >> 21) & 0x1) == 0)
5558                                         {
5559                                           if (((word >> 23) & 0x1) == 0)
5560                                             {
5561                                               /* 33222222222211111111110000000000
5562                                                  10987654321098765432109876543210
5563                                                  x10001x00x0xxxxx101xxxxxxxxxxxxx
5564                                                  ldff1sb.  */
5565                                               return 1660;
5566                                             }
5567                                           else
5568                                             {
5569                                               /* 33222222222211111111110000000000
5570                                                  10987654321098765432109876543210
5571                                                  x10001x01x0xxxxx101xxxxxxxxxxxxx
5572                                                  ldff1sh.  */
5573                                               return 1671;
5574                                             }
5575                                         }
5576                                       else
5577                                         {
5578                                           if (((word >> 22) & 0x1) == 0)
5579                                             {
5580                                               if (((word >> 23) & 0x1) == 0)
5581                                                 {
5582                                                   /* 33222222222211111111110000000000
5583                                                      10987654321098765432109876543210
5584                                                      x10001x0001xxxxx101xxxxxxxxxxxxx
5585                                                      ldff1sb.  */
5586                                                   return 1662;
5587                                                 }
5588                                               else
5589                                                 {
5590                                                   /* 33222222222211111111110000000000
5591                                                      10987654321098765432109876543210
5592                                                      x10001x0101xxxxx101xxxxxxxxxxxxx
5593                                                      ldff1sh.  */
5594                                                   return 1674;
5595                                                 }
5596                                             }
5597                                           else
5598                                             {
5599                                               if (((word >> 23) & 0x1) == 0)
5600                                                 {
5601                                                   /* 33222222222211111111110000000000
5602                                                      10987654321098765432109876543210
5603                                                      x10001x0011xxxxx101xxxxxxxxxxxxx
5604                                                      prfh.  */
5605                                                   return 1774;
5606                                                 }
5607                                               else
5608                                                 {
5609                                                   /* 33222222222211111111110000000000
5610                                                      10987654321098765432109876543210
5611                                                      x10001x0111xxxxx101xxxxxxxxxxxxx
5612                                                      ldff1sh.  */
5613                                                   return 1672;
5614                                                 }
5615                                             }
5616                                         }
5617                                     }
5618                                 }
5619                             }
5620                           else
5621                             {
5622                               if (((word >> 15) & 0x1) == 0)
5623                                 {
5624                                   if (((word >> 21) & 0x1) == 0)
5625                                     {
5626                                       if (((word >> 30) & 0x1) == 0)
5627                                         {
5628                                           if (((word >> 31) & 0x1) == 0)
5629                                             {
5630                                               /* 33222222222211111111110000000000
5631                                                  10987654321098765432109876543210
5632                                                  000001x0xx0xxxxx011xxxxxxxxxxxxx
5633                                                  mls.  */
5634                                               return 1734;
5635                                             }
5636                                           else
5637                                             {
5638                                               if (((word >> 23) & 0x1) == 0)
5639                                                 {
5640                                                   /* 33222222222211111111110000000000
5641                                                      10987654321098765432109876543210
5642                                                      100001x00x0xxxxx011xxxxxxxxxxxxx
5643                                                      ldff1b.  */
5644                                                   return 1618;
5645                                                 }
5646                                               else
5647                                                 {
5648                                                   /* 33222222222211111111110000000000
5649                                                      10987654321098765432109876543210
5650                                                      100001x01x0xxxxx011xxxxxxxxxxxxx
5651                                                      ldff1h.  */
5652                                                   return 1638;
5653                                                 }
5654                                             }
5655                                         }
5656                                       else
5657                                         {
5658                                           if (((word >> 23) & 0x1) == 0)
5659                                             {
5660                                               /* 33222222222211111111110000000000
5661                                                  10987654321098765432109876543210
5662                                                  x10001x00x0xxxxx011xxxxxxxxxxxxx
5663                                                  ldff1b.  */
5664                                               return 1627;
5665                                             }
5666                                           else
5667                                             {
5668                                               /* 33222222222211111111110000000000
5669                                                  10987654321098765432109876543210
5670                                                  x10001x01x0xxxxx011xxxxxxxxxxxxx
5671                                                  ldff1h.  */
5672                                               return 1646;
5673                                             }
5674                                         }
5675                                     }
5676                                   else
5677                                     {
5678                                       if (((word >> 23) & 0x1) == 0)
5679                                         {
5680                                           if (((word >> 30) & 0x1) == 0)
5681                                             {
5682                                               /* 33222222222211111111110000000000
5683                                                  10987654321098765432109876543210
5684                                                  x00001x00x1xxxxx011xxxxxxxxxxxxx
5685                                                  prfd.  */
5686                                               return 1764;
5687                                             }
5688                                           else
5689                                             {
5690                                               /* 33222222222211111111110000000000
5691                                                  10987654321098765432109876543210
5692                                                  x10001x00x1xxxxx011xxxxxxxxxxxxx
5693                                                  prfd.  */
5694                                               return 1766;
5695                                             }
5696                                         }
5697                                       else
5698                                         {
5699                                           if (((word >> 30) & 0x1) == 0)
5700                                             {
5701                                               /* 33222222222211111111110000000000
5702                                                  10987654321098765432109876543210
5703                                                  x00001x01x1xxxxx011xxxxxxxxxxxxx
5704                                                  ldff1h.  */
5705                                               return 1639;
5706                                             }
5707                                           else
5708                                             {
5709                                               /* 33222222222211111111110000000000
5710                                                  10987654321098765432109876543210
5711                                                  x10001x01x1xxxxx011xxxxxxxxxxxxx
5712                                                  ldff1h.  */
5713                                               return 1647;
5714                                             }
5715                                         }
5716                                     }
5717                                 }
5718                               else
5719                                 {
5720                                   if (((word >> 30) & 0x1) == 0)
5721                                     {
5722                                       if (((word >> 31) & 0x1) == 0)
5723                                         {
5724                                           if (((word >> 21) & 0x1) == 0)
5725                                             {
5726                                               /* 33222222222211111111110000000000
5727                                                  10987654321098765432109876543210
5728                                                  000001x0xx0xxxxx111xxxxxxxxxxxxx
5729                                                  msb.  */
5730                                               return 1737;
5731                                             }
5732                                           else
5733                                             {
5734                                               if (((word >> 10) & 0x1) == 0)
5735                                                 {
5736                                                   if (((word >> 11) & 0x1) == 0)
5737                                                     {
5738                                                       if (((word >> 12) & 0x1) == 0)
5739                                                         {
5740                                                           if (((word >> 20) & 0x1) == 0)
5741                                                             {
5742                                                               if (((word >> 22) & 0x1) == 0)
5743                                                                 {
5744                                                                   if (((word >> 23) & 0x1) == 0)
5745                                                                     {
5746                                                                       /* 33222222222211111111110000000000
5747                                                                          10987654321098765432109876543210
5748                                                                          000001x00010xxxx111000xxxxxxxxxx
5749                                                                          cntb.  */
5750                                                                       return 1339;
5751                                                                     }
5752                                                                   else
5753                                                                     {
5754                                                                       /* 33222222222211111111110000000000
5755                                                                          10987654321098765432109876543210
5756                                                                          000001x01010xxxx111000xxxxxxxxxx
5757                                                                          cntw.  */
5758                                                                       return 1343;
5759                                                                     }
5760                                                                 }
5761                                                               else
5762                                                                 {
5763                                                                   if (((word >> 23) & 0x1) == 0)
5764                                                                     {
5765                                                                       /* 33222222222211111111110000000000
5766                                                                          10987654321098765432109876543210
5767                                                                          000001x00110xxxx111000xxxxxxxxxx
5768                                                                          cnth.  */
5769                                                                       return 1341;
5770                                                                     }
5771                                                                   else
5772                                                                     {
5773                                                                       /* 33222222222211111111110000000000
5774                                                                          10987654321098765432109876543210
5775                                                                          000001x01110xxxx111000xxxxxxxxxx
5776                                                                          cntd.  */
5777                                                                       return 1340;
5778                                                                     }
5779                                                                 }
5780                                                             }
5781                                                           else
5782                                                             {
5783                                                               if (((word >> 22) & 0x1) == 0)
5784                                                                 {
5785                                                                   if (((word >> 23) & 0x1) == 0)
5786                                                                     {
5787                                                                       /* 33222222222211111111110000000000
5788                                                                          10987654321098765432109876543210
5789                                                                          000001x00011xxxx111000xxxxxxxxxx
5790                                                                          incb.  */
5791                                                                       return 1475;
5792                                                                     }
5793                                                                   else
5794                                                                     {
5795                                                                       /* 33222222222211111111110000000000
5796                                                                          10987654321098765432109876543210
5797                                                                          000001x01011xxxx111000xxxxxxxxxx
5798                                                                          incw.  */
5799                                                                       return 1483;
5800                                                                     }
5801                                                                 }
5802                                                               else
5803                                                                 {
5804                                                                   if (((word >> 23) & 0x1) == 0)
5805                                                                     {
5806                                                                       /* 33222222222211111111110000000000
5807                                                                          10987654321098765432109876543210
5808                                                                          000001x00111xxxx111000xxxxxxxxxx
5809                                                                          inch.  */
5810                                                                       return 1479;
5811                                                                     }
5812                                                                   else
5813                                                                     {
5814                                                                       /* 33222222222211111111110000000000
5815                                                                          10987654321098765432109876543210
5816                                                                          000001x01111xxxx111000xxxxxxxxxx
5817                                                                          incd.  */
5818                                                                       return 1477;
5819                                                                     }
5820                                                                 }
5821                                                             }
5822                                                         }
5823                                                       else
5824                                                         {
5825                                                           if (((word >> 20) & 0x1) == 0)
5826                                                             {
5827                                                               if (((word >> 22) & 0x1) == 0)
5828                                                                 {
5829                                                                   if (((word >> 23) & 0x1) == 0)
5830                                                                     {
5831                                                                       /* 33222222222211111111110000000000
5832                                                                          10987654321098765432109876543210
5833                                                                          000001x00010xxxx111100xxxxxxxxxx
5834                                                                          sqincb.  */
5835                                                                       return 1842;
5836                                                                     }
5837                                                                   else
5838                                                                     {
5839                                                                       /* 33222222222211111111110000000000
5840                                                                          10987654321098765432109876543210
5841                                                                          000001x01010xxxx111100xxxxxxxxxx
5842                                                                          sqincw.  */
5843                                                                       return 1854;
5844                                                                     }
5845                                                                 }
5846                                                               else
5847                                                                 {
5848                                                                   if (((word >> 23) & 0x1) == 0)
5849                                                                     {
5850                                                                       /* 33222222222211111111110000000000
5851                                                                          10987654321098765432109876543210
5852                                                                          000001x00110xxxx111100xxxxxxxxxx
5853                                                                          sqinch.  */
5854                                                                       return 1848;
5855                                                                     }
5856                                                                   else
5857                                                                     {
5858                                                                       /* 33222222222211111111110000000000
5859                                                                          10987654321098765432109876543210
5860                                                                          000001x01110xxxx111100xxxxxxxxxx
5861                                                                          sqincd.  */
5862                                                                       return 1845;
5863                                                                     }
5864                                                                 }
5865                                                             }
5866                                                           else
5867                                                             {
5868                                                               if (((word >> 22) & 0x1) == 0)
5869                                                                 {
5870                                                                   if (((word >> 23) & 0x1) == 0)
5871                                                                     {
5872                                                                       /* 33222222222211111111110000000000
5873                                                                          10987654321098765432109876543210
5874                                                                          000001x00011xxxx111100xxxxxxxxxx
5875                                                                          sqincb.  */
5876                                                                       return 1841;
5877                                                                     }
5878                                                                   else
5879                                                                     {
5880                                                                       /* 33222222222211111111110000000000
5881                                                                          10987654321098765432109876543210
5882                                                                          000001x01011xxxx111100xxxxxxxxxx
5883                                                                          sqincw.  */
5884                                                                       return 1853;
5885                                                                     }
5886                                                                 }
5887                                                               else
5888                                                                 {
5889                                                                   if (((word >> 23) & 0x1) == 0)
5890                                                                     {
5891                                                                       /* 33222222222211111111110000000000
5892                                                                          10987654321098765432109876543210
5893                                                                          000001x00111xxxx111100xxxxxxxxxx
5894                                                                          sqinch.  */
5895                                                                       return 1847;
5896                                                                     }
5897                                                                   else
5898                                                                     {
5899                                                                       /* 33222222222211111111110000000000
5900                                                                          10987654321098765432109876543210
5901                                                                          000001x01111xxxx111100xxxxxxxxxx
5902                                                                          sqincd.  */
5903                                                                       return 1844;
5904                                                                     }
5905                                                                 }
5906                                                             }
5907                                                         }
5908                                                     }
5909                                                   else
5910                                                     {
5911                                                       if (((word >> 20) & 0x1) == 0)
5912                                                         {
5913                                                           if (((word >> 22) & 0x1) == 0)
5914                                                             {
5915                                                               if (((word >> 23) & 0x1) == 0)
5916                                                                 {
5917                                                                   /* 33222222222211111111110000000000
5918                                                                      10987654321098765432109876543210
5919                                                                      000001x00010xxxx111x10xxxxxxxxxx
5920                                                                      sqdecb.  */
5921                                                                   return 1828;
5922                                                                 }
5923                                                               else
5924                                                                 {
5925                                                                   /* 33222222222211111111110000000000
5926                                                                      10987654321098765432109876543210
5927                                                                      000001x01010xxxx111x10xxxxxxxxxx
5928                                                                      sqdecw.  */
5929                                                                   return 1840;
5930                                                                 }
5931                                                             }
5932                                                           else
5933                                                             {
5934                                                               if (((word >> 23) & 0x1) == 0)
5935                                                                 {
5936                                                                   /* 33222222222211111111110000000000
5937                                                                      10987654321098765432109876543210
5938                                                                      000001x00110xxxx111x10xxxxxxxxxx
5939                                                                      sqdech.  */
5940                                                                   return 1834;
5941                                                                 }
5942                                                               else
5943                                                                 {
5944                                                                   /* 33222222222211111111110000000000
5945                                                                      10987654321098765432109876543210
5946                                                                      000001x01110xxxx111x10xxxxxxxxxx
5947                                                                      sqdecd.  */
5948                                                                   return 1831;
5949                                                                 }
5950                                                             }
5951                                                         }
5952                                                       else
5953                                                         {
5954                                                           if (((word >> 22) & 0x1) == 0)
5955                                                             {
5956                                                               if (((word >> 23) & 0x1) == 0)
5957                                                                 {
5958                                                                   /* 33222222222211111111110000000000
5959                                                                      10987654321098765432109876543210
5960                                                                      000001x00011xxxx111x10xxxxxxxxxx
5961                                                                      sqdecb.  */
5962                                                                   return 1827;
5963                                                                 }
5964                                                               else
5965                                                                 {
5966                                                                   /* 33222222222211111111110000000000
5967                                                                      10987654321098765432109876543210
5968                                                                      000001x01011xxxx111x10xxxxxxxxxx
5969                                                                      sqdecw.  */
5970                                                                   return 1839;
5971                                                                 }
5972                                                             }
5973                                                           else
5974                                                             {
5975                                                               if (((word >> 23) & 0x1) == 0)
5976                                                                 {
5977                                                                   /* 33222222222211111111110000000000
5978                                                                      10987654321098765432109876543210
5979                                                                      000001x00111xxxx111x10xxxxxxxxxx
5980                                                                      sqdech.  */
5981                                                                   return 1833;
5982                                                                 }
5983                                                               else
5984                                                                 {
5985                                                                   /* 33222222222211111111110000000000
5986                                                                      10987654321098765432109876543210
5987                                                                      000001x01111xxxx111x10xxxxxxxxxx
5988                                                                      sqdecd.  */
5989                                                                   return 1830;
5990                                                                 }
5991                                                             }
5992                                                         }
5993                                                     }
5994                                                 }
5995                                               else
5996                                                 {
5997                                                   if (((word >> 11) & 0x1) == 0)
5998                                                     {
5999                                                       if (((word >> 12) & 0x1) == 0)
6000                                                         {
6001                                                           if (((word >> 22) & 0x1) == 0)
6002                                                             {
6003                                                               if (((word >> 23) & 0x1) == 0)
6004                                                                 {
6005                                                                   /* 33222222222211111111110000000000
6006                                                                      10987654321098765432109876543210
6007                                                                      000001x0001xxxxx111001xxxxxxxxxx
6008                                                                      decb.  */
6009                                                                   return 1350;
6010                                                                 }
6011                                                               else
6012                                                                 {
6013                                                                   /* 33222222222211111111110000000000
6014                                                                      10987654321098765432109876543210
6015                                                                      000001x0101xxxxx111001xxxxxxxxxx
6016                                                                      decw.  */
6017                                                                   return 1358;
6018                                                                 }
6019                                                             }
6020                                                           else
6021                                                             {
6022                                                               if (((word >> 23) & 0x1) == 0)
6023                                                                 {
6024                                                                   /* 33222222222211111111110000000000
6025                                                                      10987654321098765432109876543210
6026                                                                      000001x0011xxxxx111001xxxxxxxxxx
6027                                                                      dech.  */
6028                                                                   return 1354;
6029                                                                 }
6030                                                               else
6031                                                                 {
6032                                                                   /* 33222222222211111111110000000000
6033                                                                      10987654321098765432109876543210
6034                                                                      000001x0111xxxxx111001xxxxxxxxxx
6035                                                                      decd.  */
6036                                                                   return 1352;
6037                                                                 }
6038                                                             }
6039                                                         }
6040                                                       else
6041                                                         {
6042                                                           if (((word >> 20) & 0x1) == 0)
6043                                                             {
6044                                                               if (((word >> 22) & 0x1) == 0)
6045                                                                 {
6046                                                                   if (((word >> 23) & 0x1) == 0)
6047                                                                     {
6048                                                                       /* 33222222222211111111110000000000
6049                                                                          10987654321098765432109876543210
6050                                                                          000001x00010xxxx111101xxxxxxxxxx
6051                                                                          uqincb.  */
6052                                                                       return 1989;
6053                                                                     }
6054                                                                   else
6055                                                                     {
6056                                                                       /* 33222222222211111111110000000000
6057                                                                          10987654321098765432109876543210
6058                                                                          000001x01010xxxx111101xxxxxxxxxx
6059                                                                          uqincw.  */
6060                                                                       return 2001;
6061                                                                     }
6062                                                                 }
6063                                                               else
6064                                                                 {
6065                                                                   if (((word >> 23) & 0x1) == 0)
6066                                                                     {
6067                                                                       /* 33222222222211111111110000000000
6068                                                                          10987654321098765432109876543210
6069                                                                          000001x00110xxxx111101xxxxxxxxxx
6070                                                                          uqinch.  */
6071                                                                       return 1995;
6072                                                                     }
6073                                                                   else
6074                                                                     {
6075                                                                       /* 33222222222211111111110000000000
6076                                                                          10987654321098765432109876543210
6077                                                                          000001x01110xxxx111101xxxxxxxxxx
6078                                                                          uqincd.  */
6079                                                                       return 1992;
6080                                                                     }
6081                                                                 }
6082                                                             }
6083                                                           else
6084                                                             {
6085                                                               if (((word >> 22) & 0x1) == 0)
6086                                                                 {
6087                                                                   if (((word >> 23) & 0x1) == 0)
6088                                                                     {
6089                                                                       /* 33222222222211111111110000000000
6090                                                                          10987654321098765432109876543210
6091                                                                          000001x00011xxxx111101xxxxxxxxxx
6092                                                                          uqincb.  */
6093                                                                       return 1990;
6094                                                                     }
6095                                                                   else
6096                                                                     {
6097                                                                       /* 33222222222211111111110000000000
6098                                                                          10987654321098765432109876543210
6099                                                                          000001x01011xxxx111101xxxxxxxxxx
6100                                                                          uqincw.  */
6101                                                                       return 2002;
6102                                                                     }
6103                                                                 }
6104                                                               else
6105                                                                 {
6106                                                                   if (((word >> 23) & 0x1) == 0)
6107                                                                     {
6108                                                                       /* 33222222222211111111110000000000
6109                                                                          10987654321098765432109876543210
6110                                                                          000001x00111xxxx111101xxxxxxxxxx
6111                                                                          uqinch.  */
6112                                                                       return 1996;
6113                                                                     }
6114                                                                   else
6115                                                                     {
6116                                                                       /* 33222222222211111111110000000000
6117                                                                          10987654321098765432109876543210
6118                                                                          000001x01111xxxx111101xxxxxxxxxx
6119                                                                          uqincd.  */
6120                                                                       return 1993;
6121                                                                     }
6122                                                                 }
6123                                                             }
6124                                                         }
6125                                                     }
6126                                                   else
6127                                                     {
6128                                                       if (((word >> 20) & 0x1) == 0)
6129                                                         {
6130                                                           if (((word >> 22) & 0x1) == 0)
6131                                                             {
6132                                                               if (((word >> 23) & 0x1) == 0)
6133                                                                 {
6134                                                                   /* 33222222222211111111110000000000
6135                                                                      10987654321098765432109876543210
6136                                                                      000001x00010xxxx111x11xxxxxxxxxx
6137                                                                      uqdecb.  */
6138                                                                   return 1975;
6139                                                                 }
6140                                                               else
6141                                                                 {
6142                                                                   /* 33222222222211111111110000000000
6143                                                                      10987654321098765432109876543210
6144                                                                      000001x01010xxxx111x11xxxxxxxxxx
6145                                                                      uqdecw.  */
6146                                                                   return 1987;
6147                                                                 }
6148                                                             }
6149                                                           else
6150                                                             {
6151                                                               if (((word >> 23) & 0x1) == 0)
6152                                                                 {
6153                                                                   /* 33222222222211111111110000000000
6154                                                                      10987654321098765432109876543210
6155                                                                      000001x00110xxxx111x11xxxxxxxxxx
6156                                                                      uqdech.  */
6157                                                                   return 1981;
6158                                                                 }
6159                                                               else
6160                                                                 {
6161                                                                   /* 33222222222211111111110000000000
6162                                                                      10987654321098765432109876543210
6163                                                                      000001x01110xxxx111x11xxxxxxxxxx
6164                                                                      uqdecd.  */
6165                                                                   return 1978;
6166                                                                 }
6167                                                             }
6168                                                         }
6169                                                       else
6170                                                         {
6171                                                           if (((word >> 22) & 0x1) == 0)
6172                                                             {
6173                                                               if (((word >> 23) & 0x1) == 0)
6174                                                                 {
6175                                                                   /* 33222222222211111111110000000000
6176                                                                      10987654321098765432109876543210
6177                                                                      000001x00011xxxx111x11xxxxxxxxxx
6178                                                                      uqdecb.  */
6179                                                                   return 1976;
6180                                                                 }
6181                                                               else
6182                                                                 {
6183                                                                   /* 33222222222211111111110000000000
6184                                                                      10987654321098765432109876543210
6185                                                                      000001x01011xxxx111x11xxxxxxxxxx
6186                                                                      uqdecw.  */
6187                                                                   return 1988;
6188                                                                 }
6189                                                             }
6190                                                           else
6191                                                             {
6192                                                               if (((word >> 23) & 0x1) == 0)
6193                                                                 {
6194                                                                   /* 33222222222211111111110000000000
6195                                                                      10987654321098765432109876543210
6196                                                                      000001x00111xxxx111x11xxxxxxxxxx
6197                                                                      uqdech.  */
6198                                                                   return 1982;
6199                                                                 }
6200                                                               else
6201                                                                 {
6202                                                                   /* 33222222222211111111110000000000
6203                                                                      10987654321098765432109876543210
6204                                                                      000001x01111xxxx111x11xxxxxxxxxx
6205                                                                      uqdecd.  */
6206                                                                   return 1979;
6207                                                                 }
6208                                                             }
6209                                                         }
6210                                                     }
6211                                                 }
6212                                             }
6213                                         }
6214                                       else
6215                                         {
6216                                           if (((word >> 22) & 0x1) == 0)
6217                                             {
6218                                               if (((word >> 21) & 0x1) == 0)
6219                                                 {
6220                                                   if (((word >> 23) & 0x1) == 0)
6221                                                     {
6222                                                       /* 33222222222211111111110000000000
6223                                                          10987654321098765432109876543210
6224                                                          100001x0000xxxxx111xxxxxxxxxxxxx
6225                                                          prfb.  */
6226                                                       return 1761;
6227                                                     }
6228                                                   else
6229                                                     {
6230                                                       /* 33222222222211111111110000000000
6231                                                          10987654321098765432109876543210
6232                                                          100001x0100xxxxx111xxxxxxxxxxxxx
6233                                                          prfh.  */
6234                                                       return 1775;
6235                                                     }
6236                                                 }
6237                                               else
6238                                                 {
6239                                                   if (((word >> 23) & 0x1) == 0)
6240                                                     {
6241                                                       /* 33222222222211111111110000000000
6242                                                          10987654321098765432109876543210
6243                                                          100001x0001xxxxx111xxxxxxxxxxxxx
6244                                                          ldff1b.  */
6245                                                       return 1629;
6246                                                     }
6247                                                   else
6248                                                     {
6249                                                       /* 33222222222211111111110000000000
6250                                                          10987654321098765432109876543210
6251                                                          100001x0101xxxxx111xxxxxxxxxxxxx
6252                                                          ldff1h.  */
6253                                                       return 1650;
6254                                                     }
6255                                                 }
6256                                             }
6257                                           else
6258                                             {
6259                                               if (((word >> 23) & 0x1) == 0)
6260                                                 {
6261                                                   /* 33222222222211111111110000000000
6262                                                      10987654321098765432109876543210
6263                                                      100001x001xxxxxx111xxxxxxxxxxxxx
6264                                                      ld1rb.  */
6265                                                   return 1531;
6266                                                 }
6267                                               else
6268                                                 {
6269                                                   /* 33222222222211111111110000000000
6270                                                      10987654321098765432109876543210
6271                                                      100001x011xxxxxx111xxxxxxxxxxxxx
6272                                                      ld1rh.  */
6273                                                   return 1535;
6274                                                 }
6275                                             }
6276                                         }
6277                                     }
6278                                   else
6279                                     {
6280                                       if (((word >> 21) & 0x1) == 0)
6281                                         {
6282                                           if (((word >> 22) & 0x1) == 0)
6283                                             {
6284                                               if (((word >> 23) & 0x1) == 0)
6285                                                 {
6286                                                   /* 33222222222211111111110000000000
6287                                                      10987654321098765432109876543210
6288                                                      x10001x0000xxxxx111xxxxxxxxxxxxx
6289                                                      prfb.  */
6290                                                   return 1763;
6291                                                 }
6292                                               else
6293                                                 {
6294                                                   /* 33222222222211111111110000000000
6295                                                      10987654321098765432109876543210
6296                                                      x10001x0100xxxxx111xxxxxxxxxxxxx
6297                                                      prfh.  */
6298                                                   return 1777;
6299                                                 }
6300                                             }
6301                                           else
6302                                             {
6303                                               if (((word >> 23) & 0x1) == 0)
6304                                                 {
6305                                                   /* 33222222222211111111110000000000
6306                                                      10987654321098765432109876543210
6307                                                      x10001x0010xxxxx111xxxxxxxxxxxxx
6308                                                      ldff1b.  */
6309                                                   return 1628;
6310                                                 }
6311                                               else
6312                                                 {
6313                                                   /* 33222222222211111111110000000000
6314                                                      10987654321098765432109876543210
6315                                                      x10001x0110xxxxx111xxxxxxxxxxxxx
6316                                                      ldff1h.  */
6317                                                   return 1648;
6318                                                 }
6319                                             }
6320                                         }
6321                                       else
6322                                         {
6323                                           if (((word >> 22) & 0x1) == 0)
6324                                             {
6325                                               if (((word >> 23) & 0x1) == 0)
6326                                                 {
6327                                                   /* 33222222222211111111110000000000
6328                                                      10987654321098765432109876543210
6329                                                      x10001x0001xxxxx111xxxxxxxxxxxxx
6330                                                      ldff1b.  */
6331                                                   return 1630;
6332                                                 }
6333                                               else
6334                                                 {
6335                                                   /* 33222222222211111111110000000000
6336                                                      10987654321098765432109876543210
6337                                                      x10001x0101xxxxx111xxxxxxxxxxxxx
6338                                                      ldff1h.  */
6339                                                   return 1651;
6340                                                 }
6341                                             }
6342                                           else
6343                                             {
6344                                               if (((word >> 23) & 0x1) == 0)
6345                                                 {
6346                                                   /* 33222222222211111111110000000000
6347                                                      10987654321098765432109876543210
6348                                                      x10001x0011xxxxx111xxxxxxxxxxxxx
6349                                                      prfd.  */
6350                                                   return 1767;
6351                                                 }
6352                                               else
6353                                                 {
6354                                                   /* 33222222222211111111110000000000
6355                                                      10987654321098765432109876543210
6356                                                      x10001x0111xxxxx111xxxxxxxxxxxxx
6357                                                      ldff1h.  */
6358                                                   return 1649;
6359                                                 }
6360                                             }
6361                                         }
6362                                     }
6363                                 }
6364                             }
6365                         }
6366                     }
6367                   else
6368                     {
6369                       if (((word >> 21) & 0x1) == 0)
6370                         {
6371                           if (((word >> 15) & 0x1) == 0)
6372                             {
6373                               if (((word >> 30) & 0x1) == 0)
6374                                 {
6375                                   if (((word >> 13) & 0x1) == 0)
6376                                     {
6377                                       if (((word >> 14) & 0x1) == 0)
6378                                         {
6379                                           if (((word >> 31) & 0x1) == 0)
6380                                             {
6381                                               if (((word >> 4) & 0x1) == 0)
6382                                                 {
6383                                                   /* 33222222222211111111110000000000
6384                                                      10987654321098765432109876543210
6385                                                      001001x0xx0xxxxx000xxxxxxxx0xxxx
6386                                                      cmphs.  */
6387                                                   return 1323;
6388                                                 }
6389                                               else
6390                                                 {
6391                                                   /* 33222222222211111111110000000000
6392                                                      10987654321098765432109876543210
6393                                                      001001x0xx0xxxxx000xxxxxxxx1xxxx
6394                                                      cmphi.  */
6395                                                   return 1320;
6396                                                 }
6397                                             }
6398                                           else
6399                                             {
6400                                               if (((word >> 23) & 0x1) == 0)
6401                                                 {
6402                                                   /* 33222222222211111111110000000000
6403                                                      10987654321098765432109876543210
6404                                                      101001x00x0xxxxx000xxxxxxxxxxxxx
6405                                                      ld1rqb.  */
6406                                                   return 1537;
6407                                                 }
6408                                               else
6409                                                 {
6410                                                   /* 33222222222211111111110000000000
6411                                                      10987654321098765432109876543210
6412                                                      101001x01x0xxxxx000xxxxxxxxxxxxx
6413                                                      ld1rqh.  */
6414                                                   return 1541;
6415                                                 }
6416                                             }
6417                                         }
6418                                       else
6419                                         {
6420                                           if (((word >> 31) & 0x1) == 0)
6421                                             {
6422                                               if (((word >> 4) & 0x1) == 0)
6423                                                 {
6424                                                   /* 33222222222211111111110000000000
6425                                                      10987654321098765432109876543210
6426                                                      001001x0xx0xxxxx010xxxxxxxx0xxxx
6427                                                      cmpge.  */
6428                                                   return 1314;
6429                                                 }
6430                                               else
6431                                                 {
6432                                                   /* 33222222222211111111110000000000
6433                                                      10987654321098765432109876543210
6434                                                      001001x0xx0xxxxx010xxxxxxxx1xxxx
6435                                                      cmpgt.  */
6436                                                   return 1317;
6437                                                 }
6438                                             }
6439                                           else
6440                                             {
6441                                               if (((word >> 22) & 0x1) == 0)
6442                                                 {
6443                                                   if (((word >> 23) & 0x1) == 0)
6444                                                     {
6445                                                       /* 33222222222211111111110000000000
6446                                                          10987654321098765432109876543210
6447                                                          101001x0000xxxxx010xxxxxxxxxxxxx
6448                                                          ld1b.  */
6449                                                       return 1495;
6450                                                     }
6451                                                   else
6452                                                     {
6453                                                       /* 33222222222211111111110000000000
6454                                                          10987654321098765432109876543210
6455                                                          101001x0100xxxxx010xxxxxxxxxxxxx
6456                                                          ld1sw.  */
6457                                                       return 1575;
6458                                                     }
6459                                                 }
6460                                               else
6461                                                 {
6462                                                   if (((word >> 23) & 0x1) == 0)
6463                                                     {
6464                                                       /* 33222222222211111111110000000000
6465                                                          10987654321098765432109876543210
6466                                                          101001x0010xxxxx010xxxxxxxxxxxxx
6467                                                          ld1b.  */
6468                                                       return 1497;
6469                                                     }
6470                                                   else
6471                                                     {
6472                                                       /* 33222222222211111111110000000000
6473                                                          10987654321098765432109876543210
6474                                                          101001x0110xxxxx010xxxxxxxxxxxxx
6475                                                          ld1h.  */
6476                                                       return 1517;
6477                                                     }
6478                                                 }
6479                                             }
6480                                         }
6481                                     }
6482                                   else
6483                                     {
6484                                       if (((word >> 14) & 0x1) == 0)
6485                                         {
6486                                           if (((word >> 31) & 0x1) == 0)
6487                                             {
6488                                               if (((word >> 4) & 0x1) == 0)
6489                                                 {
6490                                                   /* 33222222222211111111110000000000
6491                                                      10987654321098765432109876543210
6492                                                      001001x0xx0xxxxx001xxxxxxxx0xxxx
6493                                                      cmpeq.  */
6494                                                   return 1311;
6495                                                 }
6496                                               else
6497                                                 {
6498                                                   /* 33222222222211111111110000000000
6499                                                      10987654321098765432109876543210
6500                                                      001001x0xx0xxxxx001xxxxxxxx1xxxx
6501                                                      cmpne.  */
6502                                                   return 1334;
6503                                                 }
6504                                             }
6505                                           else
6506                                             {
6507                                               if (((word >> 23) & 0x1) == 0)
6508                                                 {
6509                                                   /* 33222222222211111111110000000000
6510                                                      10987654321098765432109876543210
6511                                                      101001x00x0xxxxx001xxxxxxxxxxxxx
6512                                                      ld1rqb.  */
6513                                                   return 1536;
6514                                                 }
6515                                               else
6516                                                 {
6517                                                   /* 33222222222211111111110000000000
6518                                                      10987654321098765432109876543210
6519                                                      101001x01x0xxxxx001xxxxxxxxxxxxx
6520                                                      ld1rqh.  */
6521                                                   return 1540;
6522                                                 }
6523                                             }
6524                                         }
6525                                       else
6526                                         {
6527                                           if (((word >> 31) & 0x1) == 0)
6528                                             {
6529                                               if (((word >> 4) & 0x1) == 0)
6530                                                 {
6531                                                   /* 33222222222211111111110000000000
6532                                                      10987654321098765432109876543210
6533                                                      001001x0xx0xxxxx011xxxxxxxx0xxxx
6534                                                      cmplt.  */
6535                                                   return 1332;
6536                                                 }
6537                                               else
6538                                                 {
6539                                                   /* 33222222222211111111110000000000
6540                                                      10987654321098765432109876543210
6541                                                      001001x0xx0xxxxx011xxxxxxxx1xxxx
6542                                                      cmple.  */
6543                                                   return 1326;
6544                                                 }
6545                                             }
6546                                           else
6547                                             {
6548                                               if (((word >> 22) & 0x1) == 0)
6549                                                 {
6550                                                   if (((word >> 23) & 0x1) == 0)
6551                                                     {
6552                                                       /* 33222222222211111111110000000000
6553                                                          10987654321098765432109876543210
6554                                                          101001x0000xxxxx011xxxxxxxxxxxxx
6555                                                          ldff1b.  */
6556                                                       return 1619;
6557                                                     }
6558                                                   else
6559                                                     {
6560                                                       /* 33222222222211111111110000000000
6561                                                          10987654321098765432109876543210
6562                                                          101001x0100xxxxx011xxxxxxxxxxxxx
6563                                                          ldff1sw.  */
6564                                                       return 1675;
6565                                                     }
6566                                                 }
6567                                               else
6568                                                 {
6569                                                   if (((word >> 23) & 0x1) == 0)
6570                                                     {
6571                                                       /* 33222222222211111111110000000000
6572                                                          10987654321098765432109876543210
6573                                                          101001x0010xxxxx011xxxxxxxxxxxxx
6574                                                          ldff1b.  */
6575                                                       return 1623;
6576                                                     }
6577                                                   else
6578                                                     {
6579                                                       /* 33222222222211111111110000000000
6580                                                          10987654321098765432109876543210
6581                                                          101001x0110xxxxx011xxxxxxxxxxxxx
6582                                                          ldff1h.  */
6583                                                       return 1642;
6584                                                     }
6585                                                 }
6586                                             }
6587                                         }
6588                                     }
6589                                 }
6590                               else
6591                                 {
6592                                   if (((word >> 31) & 0x1) == 0)
6593                                     {
6594                                       /* 33222222222211111111110000000000
6595                                          10987654321098765432109876543210
6596                                          011001x0xx0xxxxx0xxxxxxxxxxxxxxx
6597                                          fcmla.  */
6598                                       return 1380;
6599                                     }
6600                                   else
6601                                     {
6602                                       if (((word >> 13) & 0x1) == 0)
6603                                         {
6604                                           if (((word >> 22) & 0x1) == 0)
6605                                             {
6606                                               /* 33222222222211111111110000000000
6607                                                  10987654321098765432109876543210
6608                                                  111001x0x00xxxxx0x0xxxxxxxxxxxxx
6609                                                  st1b.  */
6610                                               return 1857;
6611                                             }
6612                                           else
6613                                             {
6614                                               if (((word >> 23) & 0x1) == 0)
6615                                                 {
6616                                                   /* 33222222222211111111110000000000
6617                                                      10987654321098765432109876543210
6618                                                      111001x0010xxxxx0x0xxxxxxxxxxxxx
6619                                                      st1b.  */
6620                                                   return 1861;
6621                                                 }
6622                                               else
6623                                                 {
6624                                                   /* 33222222222211111111110000000000
6625                                                      10987654321098765432109876543210
6626                                                      111001x0110xxxxx0x0xxxxxxxxxxxxx
6627                                                      st1h.  */
6628                                                   return 1882;
6629                                                 }
6630                                             }
6631                                         }
6632                                       else
6633                                         {
6634                                           if (((word >> 22) & 0x1) == 0)
6635                                             {
6636                                               if (((word >> 23) & 0x1) == 0)
6637                                                 {
6638                                                   /* 33222222222211111111110000000000
6639                                                      10987654321098765432109876543210
6640                                                      111001x0000xxxxx0x1xxxxxxxxxxxxx
6641                                                      stnt1b.  */
6642                                                   return 1927;
6643                                                 }
6644                                               else
6645                                                 {
6646                                                   /* 33222222222211111111110000000000
6647                                                      10987654321098765432109876543210
6648                                                      111001x0100xxxxx0x1xxxxxxxxxxxxx
6649                                                      stnt1h.  */
6650                                                   return 1931;
6651                                                 }
6652                                             }
6653                                           else
6654                                             {
6655                                               if (((word >> 23) & 0x1) == 0)
6656                                                 {
6657                                                   /* 33222222222211111111110000000000
6658                                                      10987654321098765432109876543210
6659                                                      111001x0010xxxxx0x1xxxxxxxxxxxxx
6660                                                      st3b.  */
6661                                                   return 1911;
6662                                                 }
6663                                               else
6664                                                 {
6665                                                   /* 33222222222211111111110000000000
6666                                                      10987654321098765432109876543210
6667                                                      111001x0110xxxxx0x1xxxxxxxxxxxxx
6668                                                      st3h.  */
6669                                                   return 1915;
6670                                                 }
6671                                             }
6672                                         }
6673                                     }
6674                                 }
6675                             }
6676                           else
6677                             {
6678                               if (((word >> 13) & 0x1) == 0)
6679                                 {
6680                                   if (((word >> 30) & 0x1) == 0)
6681                                     {
6682                                       if (((word >> 14) & 0x1) == 0)
6683                                         {
6684                                           if (((word >> 4) & 0x1) == 0)
6685                                             {
6686                                               /* 33222222222211111111110000000000
6687                                                  10987654321098765432109876543210
6688                                                  x01001x0xx0xxxxx100xxxxxxxx0xxxx
6689                                                  cmpge.  */
6690                                               return 1315;
6691                                             }
6692                                           else
6693                                             {
6694                                               /* 33222222222211111111110000000000
6695                                                  10987654321098765432109876543210
6696                                                  x01001x0xx0xxxxx100xxxxxxxx1xxxx
6697                                                  cmpgt.  */
6698                                               return 1318;
6699                                             }
6700                                         }
6701                                       else
6702                                         {
6703                                           if (((word >> 31) & 0x1) == 0)
6704                                             {
6705                                               if (((word >> 4) & 0x1) == 0)
6706                                                 {
6707                                                   /* 33222222222211111111110000000000
6708                                                      10987654321098765432109876543210
6709                                                      001001x0xx0xxxxx110xxxxxxxx0xxxx
6710                                                      cmphs.  */
6711                                                   return 1324;
6712                                                 }
6713                                               else
6714                                                 {
6715                                                   /* 33222222222211111111110000000000
6716                                                      10987654321098765432109876543210
6717                                                      001001x0xx0xxxxx110xxxxxxxx1xxxx
6718                                                      cmphi.  */
6719                                                   return 1321;
6720                                                 }
6721                                             }
6722                                           else
6723                                             {
6724                                               if (((word >> 22) & 0x1) == 0)
6725                                                 {
6726                                                   if (((word >> 23) & 0x1) == 0)
6727                                                     {
6728                                                       /* 33222222222211111111110000000000
6729                                                          10987654321098765432109876543210
6730                                                          101001x0000xxxxx110xxxxxxxxxxxxx
6731                                                          ldnt1b.  */
6732                                                       return 1710;
6733                                                     }
6734                                                   else
6735                                                     {
6736                                                       /* 33222222222211111111110000000000
6737                                                          10987654321098765432109876543210
6738                                                          101001x0100xxxxx110xxxxxxxxxxxxx
6739                                                          ldnt1h.  */
6740                                                       return 1714;
6741                                                     }
6742                                                 }
6743                                               else
6744                                                 {
6745                                                   if (((word >> 23) & 0x1) == 0)
6746                                                     {
6747                                                       /* 33222222222211111111110000000000
6748                                                          10987654321098765432109876543210
6749                                                          101001x0010xxxxx110xxxxxxxxxxxxx
6750                                                          ld3b.  */
6751                                                       return 1602;
6752                                                     }
6753                                                   else
6754                                                     {
6755                                                       /* 33222222222211111111110000000000
6756                                                          10987654321098765432109876543210
6757                                                          101001x0110xxxxx110xxxxxxxxxxxxx
6758                                                          ld3h.  */
6759                                                       return 1606;
6760                                                     }
6761                                                 }
6762                                             }
6763                                         }
6764                                     }
6765                                   else
6766                                     {
6767                                       if (((word >> 31) & 0x1) == 0)
6768                                         {
6769                                           /* 33222222222211111111110000000000
6770                                              10987654321098765432109876543210
6771                                              011001x0xx0xxxxx1x0xxxxxxxxxxxxx
6772                                              fcadd.  */
6773                                           return 1379;
6774                                         }
6775                                       else
6776                                         {
6777                                           if (((word >> 22) & 0x1) == 0)
6778                                             {
6779                                               if (((word >> 23) & 0x1) == 0)
6780                                                 {
6781                                                   /* 33222222222211111111110000000000
6782                                                      10987654321098765432109876543210
6783                                                      111001x0000xxxxx1x0xxxxxxxxxxxxx
6784                                                      st1b.  */
6785                                                   return 1858;
6786                                                 }
6787                                               else
6788                                                 {
6789                                                   /* 33222222222211111111110000000000
6790                                                      10987654321098765432109876543210
6791                                                      111001x0100xxxxx1x0xxxxxxxxxxxxx
6792                                                      st1h.  */
6793                                                   return 1877;
6794                                                 }
6795                                             }
6796                                           else
6797                                             {
6798                                               if (((word >> 23) & 0x1) == 0)
6799                                                 {
6800                                                   /* 33222222222211111111110000000000
6801                                                      10987654321098765432109876543210
6802                                                      111001x0010xxxxx1x0xxxxxxxxxxxxx
6803                                                      st1b.  */
6804                                                   return 1862;
6805                                                 }
6806                                               else
6807                                                 {
6808                                                   /* 33222222222211111111110000000000
6809                                                      10987654321098765432109876543210
6810                                                      111001x0110xxxxx1x0xxxxxxxxxxxxx
6811                                                      st1h.  */
6812                                                   return 1883;
6813                                                 }
6814                                             }
6815                                         }
6816                                     }
6817                                 }
6818                               else
6819                                 {
6820                                   if (((word >> 14) & 0x1) == 0)
6821                                     {
6822                                       if (((word >> 30) & 0x1) == 0)
6823                                         {
6824                                           if (((word >> 31) & 0x1) == 0)
6825                                             {
6826                                               if (((word >> 4) & 0x1) == 0)
6827                                                 {
6828                                                   /* 33222222222211111111110000000000
6829                                                      10987654321098765432109876543210
6830                                                      001001x0xx0xxxxx101xxxxxxxx0xxxx
6831                                                      cmpeq.  */
6832                                                   return 1312;
6833                                                 }
6834                                               else
6835                                                 {
6836                                                   /* 33222222222211111111110000000000
6837                                                      10987654321098765432109876543210
6838                                                      001001x0xx0xxxxx101xxxxxxxx1xxxx
6839                                                      cmpne.  */
6840                                                   return 1335;
6841                                                 }
6842                                             }
6843                                           else
6844                                             {
6845                                               if (((word >> 20) & 0x1) == 0)
6846                                                 {
6847                                                   if (((word >> 22) & 0x1) == 0)
6848                                                     {
6849                                                       if (((word >> 23) & 0x1) == 0)
6850                                                         {
6851                                                           /* 33222222222211111111110000000000
6852                                                              10987654321098765432109876543210
6853                                                              101001x00000xxxx101xxxxxxxxxxxxx
6854                                                              ld1b.  */
6855                                                           return 1502;
6856                                                         }
6857                                                       else
6858                                                         {
6859                                                           /* 33222222222211111111110000000000
6860                                                              10987654321098765432109876543210
6861                                                              101001x01000xxxx101xxxxxxxxxxxxx
6862                                                              ld1sw.  */
6863                                                           return 1580;
6864                                                         }
6865                                                     }
6866                                                   else
6867                                                     {
6868                                                       if (((word >> 23) & 0x1) == 0)
6869                                                         {
6870                                                           /* 33222222222211111111110000000000
6871                                                              10987654321098765432109876543210
6872                                                              101001x00100xxxx101xxxxxxxxxxxxx
6873                                                              ld1b.  */
6874                                                           return 1504;
6875                                                         }
6876                                                       else
6877                                                         {
6878                                                           /* 33222222222211111111110000000000
6879                                                              10987654321098765432109876543210
6880                                                              101001x01100xxxx101xxxxxxxxxxxxx
6881                                                              ld1h.  */
6882                                                           return 1525;
6883                                                         }
6884                                                     }
6885                                                 }
6886                                               else
6887                                                 {
6888                                                   if (((word >> 22) & 0x1) == 0)
6889                                                     {
6890                                                       if (((word >> 23) & 0x1) == 0)
6891                                                         {
6892                                                           /* 33222222222211111111110000000000
6893                                                              10987654321098765432109876543210
6894                                                              101001x00001xxxx101xxxxxxxxxxxxx
6895                                                              ldnf1b.  */
6896                                                           return 1694;
6897                                                         }
6898                                                       else
6899                                                         {
6900                                                           /* 33222222222211111111110000000000
6901                                                              10987654321098765432109876543210
6902                                                              101001x01001xxxx101xxxxxxxxxxxxx
6903                                                              ldnf1sw.  */
6904                                                           return 1707;
6905                                                         }
6906                                                     }
6907                                                   else
6908                                                     {
6909                                                       if (((word >> 23) & 0x1) == 0)
6910                                                         {
6911                                                           /* 33222222222211111111110000000000
6912                                                              10987654321098765432109876543210
6913                                                              101001x00101xxxx101xxxxxxxxxxxxx
6914                                                              ldnf1b.  */
6915                                                           return 1696;
6916                                                         }
6917                                                       else
6918                                                         {
6919                                                           /* 33222222222211111111110000000000
6920                                                              10987654321098765432109876543210
6921                                                              101001x01101xxxx101xxxxxxxxxxxxx
6922                                                              ldnf1h.  */
6923                                                           return 1700;
6924                                                         }
6925                                                     }
6926                                                 }
6927                                             }
6928                                         }
6929                                       else
6930                                         {
6931                                           if (((word >> 22) & 0x1) == 0)
6932                                             {
6933                                               if (((word >> 23) & 0x1) == 0)
6934                                                 {
6935                                                   /* 33222222222211111111110000000000
6936                                                      10987654321098765432109876543210
6937                                                      x11001x0000xxxxx101xxxxxxxxxxxxx
6938                                                      st1b.  */
6939                                                   return 1859;
6940                                                 }
6941                                               else
6942                                                 {
6943                                                   /* 33222222222211111111110000000000
6944                                                      10987654321098765432109876543210
6945                                                      x11001x0100xxxxx101xxxxxxxxxxxxx
6946                                                      st1h.  */
6947                                                   return 1878;
6948                                                 }
6949                                             }
6950                                           else
6951                                             {
6952                                               if (((word >> 23) & 0x1) == 0)
6953                                                 {
6954                                                   /* 33222222222211111111110000000000
6955                                                      10987654321098765432109876543210
6956                                                      x11001x0010xxxxx101xxxxxxxxxxxxx
6957                                                      st1b.  */
6958                                                   return 1866;
6959                                                 }
6960                                               else
6961                                                 {
6962                                                   /* 33222222222211111111110000000000
6963                                                      10987654321098765432109876543210
6964                                                      x11001x0110xxxxx101xxxxxxxxxxxxx
6965                                                      st1h.  */
6966                                                   return 1887;
6967                                                 }
6968                                             }
6969                                         }
6970                                     }
6971                                   else
6972                                     {
6973                                       if (((word >> 30) & 0x1) == 0)
6974                                         {
6975                                           if (((word >> 31) & 0x1) == 0)
6976                                             {
6977                                               if (((word >> 4) & 0x1) == 0)
6978                                                 {
6979                                                   /* 33222222222211111111110000000000
6980                                                      10987654321098765432109876543210
6981                                                      001001x0xx0xxxxx111xxxxxxxx0xxxx
6982                                                      cmplo.  */
6983                                                   return 1328;
6984                                                 }
6985                                               else
6986                                                 {
6987                                                   /* 33222222222211111111110000000000
6988                                                      10987654321098765432109876543210
6989                                                      001001x0xx0xxxxx111xxxxxxxx1xxxx
6990                                                      cmpls.  */
6991                                                   return 1330;
6992                                                 }
6993                                             }
6994                                           else
6995                                             {
6996                                               if (((word >> 22) & 0x1) == 0)
6997                                                 {
6998                                                   if (((word >> 23) & 0x1) == 0)
6999                                                     {
7000                                                       /* 33222222222211111111110000000000
7001                                                          10987654321098765432109876543210
7002                                                          101001x0000xxxxx111xxxxxxxxxxxxx
7003                                                          ldnt1b.  */
7004                                                       return 1711;
7005                                                     }
7006                                                   else
7007                                                     {
7008                                                       /* 33222222222211111111110000000000
7009                                                          10987654321098765432109876543210
7010                                                          101001x0100xxxxx111xxxxxxxxxxxxx
7011                                                          ldnt1h.  */
7012                                                       return 1715;
7013                                                     }
7014                                                 }
7015                                               else
7016                                                 {
7017                                                   if (((word >> 23) & 0x1) == 0)
7018                                                     {
7019                                                       /* 33222222222211111111110000000000
7020                                                          10987654321098765432109876543210
7021                                                          101001x0010xxxxx111xxxxxxxxxxxxx
7022                                                          ld3b.  */
7023                                                       return 1603;
7024                                                     }
7025                                                   else
7026                                                     {
7027                                                       /* 33222222222211111111110000000000
7028                                                          10987654321098765432109876543210
7029                                                          101001x0110xxxxx111xxxxxxxxxxxxx
7030                                                          ld3h.  */
7031                                                       return 1607;
7032                                                     }
7033                                                 }
7034                                             }
7035                                         }
7036                                       else
7037                                         {
7038                                           if (((word >> 20) & 0x1) == 0)
7039                                             {
7040                                               if (((word >> 22) & 0x1) == 0)
7041                                                 {
7042                                                   /* 33222222222211111111110000000000
7043                                                      10987654321098765432109876543210
7044                                                      x11001x0x000xxxx111xxxxxxxxxxxxx
7045                                                      st1b.  */
7046                                                   return 1864;
7047                                                 }
7048                                               else
7049                                                 {
7050                                                   if (((word >> 23) & 0x1) == 0)
7051                                                     {
7052                                                       /* 33222222222211111111110000000000
7053                                                          10987654321098765432109876543210
7054                                                          x11001x00100xxxx111xxxxxxxxxxxxx
7055                                                          st1b.  */
7056                                                       return 1867;
7057                                                     }
7058                                                   else
7059                                                     {
7060                                                       /* 33222222222211111111110000000000
7061                                                          10987654321098765432109876543210
7062                                                          x11001x01100xxxx111xxxxxxxxxxxxx
7063                                                          st1h.  */
7064                                                       return 1888;
7065                                                     }
7066                                                 }
7067                                             }
7068                                           else
7069                                             {
7070                                               if (((word >> 22) & 0x1) == 0)
7071                                                 {
7072                                                   if (((word >> 23) & 0x1) == 0)
7073                                                     {
7074                                                       /* 33222222222211111111110000000000
7075                                                          10987654321098765432109876543210
7076                                                          x11001x00001xxxx111xxxxxxxxxxxxx
7077                                                          stnt1b.  */
7078                                                       return 1928;
7079                                                     }
7080                                                   else
7081                                                     {
7082                                                       /* 33222222222211111111110000000000
7083                                                          10987654321098765432109876543210
7084                                                          x11001x01001xxxx111xxxxxxxxxxxxx
7085                                                          stnt1h.  */
7086                                                       return 1932;
7087                                                     }
7088                                                 }
7089                                               else
7090                                                 {
7091                                                   if (((word >> 23) & 0x1) == 0)
7092                                                     {
7093                                                       /* 33222222222211111111110000000000
7094                                                          10987654321098765432109876543210
7095                                                          x11001x00101xxxx111xxxxxxxxxxxxx
7096                                                          st3b.  */
7097                                                       return 1912;
7098                                                     }
7099                                                   else
7100                                                     {
7101                                                       /* 33222222222211111111110000000000
7102                                                          10987654321098765432109876543210
7103                                                          x11001x01101xxxx111xxxxxxxxxxxxx
7104                                                          st3h.  */
7105                                                       return 1916;
7106                                                     }
7107                                                 }
7108                                             }
7109                                         }
7110                                     }
7111                                 }
7112                             }
7113                         }
7114                       else
7115                         {
7116                           if (((word >> 13) & 0x1) == 0)
7117                             {
7118                               if (((word >> 30) & 0x1) == 0)
7119                                 {
7120                                   if (((word >> 31) & 0x1) == 0)
7121                                     {
7122                                       if (((word >> 4) & 0x1) == 0)
7123                                         {
7124                                           /* 33222222222211111111110000000000
7125                                              10987654321098765432109876543210
7126                                              001001x0xx1xxxxxxx0xxxxxxxx0xxxx
7127                                              cmphs.  */
7128                                           return 1325;
7129                                         }
7130                                       else
7131                                         {
7132                                           /* 33222222222211111111110000000000
7133                                              10987654321098765432109876543210
7134                                              001001x0xx1xxxxxxx0xxxxxxxx1xxxx
7135                                              cmphi.  */
7136                                           return 1322;
7137                                         }
7138                                     }
7139                                   else
7140                                     {
7141                                       if (((word >> 15) & 0x1) == 0)
7142                                         {
7143                                           if (((word >> 22) & 0x1) == 0)
7144                                             {
7145                                               if (((word >> 23) & 0x1) == 0)
7146                                                 {
7147                                                   /* 33222222222211111111110000000000
7148                                                      10987654321098765432109876543210
7149                                                      101001x0001xxxxx0x0xxxxxxxxxxxxx
7150                                                      ld1b.  */
7151                                                   return 1496;
7152                                                 }
7153                                               else
7154                                                 {
7155                                                   /* 33222222222211111111110000000000
7156                                                      10987654321098765432109876543210
7157                                                      101001x0101xxxxx0x0xxxxxxxxxxxxx
7158                                                      ld1h.  */
7159                                                   return 1516;
7160                                                 }
7161                                             }
7162                                           else
7163                                             {
7164                                               if (((word >> 23) & 0x1) == 0)
7165                                                 {
7166                                                   /* 33222222222211111111110000000000
7167                                                      10987654321098765432109876543210
7168                                                      101001x0011xxxxx0x0xxxxxxxxxxxxx
7169                                                      ld1b.  */
7170                                                   return 1498;
7171                                                 }
7172                                               else
7173                                                 {
7174                                                   /* 33222222222211111111110000000000
7175                                                      10987654321098765432109876543210
7176                                                      101001x0111xxxxx0x0xxxxxxxxxxxxx
7177                                                      ld1h.  */
7178                                                   return 1518;
7179                                                 }
7180                                             }
7181                                         }
7182                                       else
7183                                         {
7184                                           if (((word >> 22) & 0x1) == 0)
7185                                             {
7186                                               if (((word >> 23) & 0x1) == 0)
7187                                                 {
7188                                                   /* 33222222222211111111110000000000
7189                                                      10987654321098765432109876543210
7190                                                      101001x0001xxxxx1x0xxxxxxxxxxxxx
7191                                                      ld2b.  */
7192                                                   return 1594;
7193                                                 }
7194                                               else
7195                                                 {
7196                                                   /* 33222222222211111111110000000000
7197                                                      10987654321098765432109876543210
7198                                                      101001x0101xxxxx1x0xxxxxxxxxxxxx
7199                                                      ld2h.  */
7200                                                   return 1598;
7201                                                 }
7202                                             }
7203                                           else
7204                                             {
7205                                               if (((word >> 23) & 0x1) == 0)
7206                                                 {
7207                                                   /* 33222222222211111111110000000000
7208                                                      10987654321098765432109876543210
7209                                                      101001x0011xxxxx1x0xxxxxxxxxxxxx
7210                                                      ld4b.  */
7211                                                   return 1610;
7212                                                 }
7213                                               else
7214                                                 {
7215                                                   /* 33222222222211111111110000000000
7216                                                      10987654321098765432109876543210
7217                                                      101001x0111xxxxx1x0xxxxxxxxxxxxx
7218                                                      ld4h.  */
7219                                                   return 1614;
7220                                                 }
7221                                             }
7222                                         }
7223                                     }
7224                                 }
7225                               else
7226                                 {
7227                                   if (((word >> 15) & 0x1) == 0)
7228                                     {
7229                                       if (((word >> 14) & 0x1) == 0)
7230                                         {
7231                                           if (((word >> 12) & 0x1) == 0)
7232                                             {
7233                                               if (((word >> 10) & 0x1) == 0)
7234                                                 {
7235                                                   if (((word >> 23) & 0x1) == 0)
7236                                                     {
7237                                                       /* 33222222222211111111110000000000
7238                                                          10987654321098765432109876543210
7239                                                          x11001x00x1xxxxx0000x0xxxxxxxxxx
7240                                                          fmla.  */
7241                                                       return 1433;
7242                                                     }
7243                                                   else
7244                                                     {
7245                                                       if (((word >> 22) & 0x1) == 0)
7246                                                         {
7247                                                           /* 33222222222211111111110000000000
7248                                                              10987654321098765432109876543210
7249                                                              x11001x0101xxxxx0000x0xxxxxxxxxx
7250                                                              fmla.  */
7251                                                           return 1434;
7252                                                         }
7253                                                       else
7254                                                         {
7255                                                           /* 33222222222211111111110000000000
7256                                                              10987654321098765432109876543210
7257                                                              x11001x0111xxxxx0000x0xxxxxxxxxx
7258                                                              fmla.  */
7259                                                           return 1435;
7260                                                         }
7261                                                     }
7262                                                 }
7263                                               else
7264                                                 {
7265                                                   if (((word >> 23) & 0x1) == 0)
7266                                                     {
7267                                                       /* 33222222222211111111110000000000
7268                                                          10987654321098765432109876543210
7269                                                          x11001x00x1xxxxx0000x1xxxxxxxxxx
7270                                                          fmls.  */
7271                                                       return 1437;
7272                                                     }
7273                                                   else
7274                                                     {
7275                                                       if (((word >> 22) & 0x1) == 0)
7276                                                         {
7277                                                           /* 33222222222211111111110000000000
7278                                                              10987654321098765432109876543210
7279                                                              x11001x0101xxxxx0000x1xxxxxxxxxx
7280                                                              fmls.  */
7281                                                           return 1438;
7282                                                         }
7283                                                       else
7284                                                         {
7285                                                           /* 33222222222211111111110000000000
7286                                                              10987654321098765432109876543210
7287                                                              x11001x0111xxxxx0000x1xxxxxxxxxx
7288                                                              fmls.  */
7289                                                           return 1439;
7290                                                         }
7291                                                     }
7292                                                 }
7293                                             }
7294                                           else
7295                                             {
7296                                               if (((word >> 22) & 0x1) == 0)
7297                                                 {
7298                                                   /* 33222222222211111111110000000000
7299                                                      10987654321098765432109876543210
7300                                                      x11001x0x01xxxxx0001xxxxxxxxxxxx
7301                                                      fcmla.  */
7302                                                   return 1381;
7303                                                 }
7304                                               else
7305                                                 {
7306                                                   /* 33222222222211111111110000000000
7307                                                      10987654321098765432109876543210
7308                                                      x11001x0x11xxxxx0001xxxxxxxxxxxx
7309                                                      fcmla.  */
7310                                                   return 1382;
7311                                                 }
7312                                             }
7313                                         }
7314                                       else
7315                                         {
7316                                           if (((word >> 22) & 0x1) == 0)
7317                                             {
7318                                               if (((word >> 23) & 0x1) == 0)
7319                                                 {
7320                                                   /* 33222222222211111111110000000000
7321                                                      10987654321098765432109876543210
7322                                                      x11001x0001xxxxx010xxxxxxxxxxxxx
7323                                                      st1b.  */
7324                                                   return 1860;
7325                                                 }
7326                                               else
7327                                                 {
7328                                                   /* 33222222222211111111110000000000
7329                                                      10987654321098765432109876543210
7330                                                      x11001x0101xxxxx010xxxxxxxxxxxxx
7331                                                      st1h.  */
7332                                                   return 1879;
7333                                                 }
7334                                             }
7335                                           else
7336                                             {
7337                                               if (((word >> 23) & 0x1) == 0)
7338                                                 {
7339                                                   /* 33222222222211111111110000000000
7340                                                      10987654321098765432109876543210
7341                                                      x11001x0011xxxxx010xxxxxxxxxxxxx
7342                                                      st1b.  */
7343                                                   return 1863;
7344                                                 }
7345                                               else
7346                                                 {
7347                                                   /* 33222222222211111111110000000000
7348                                                      10987654321098765432109876543210
7349                                                      x11001x0111xxxxx010xxxxxxxxxxxxx
7350                                                      st1h.  */
7351                                                   return 1884;
7352                                                 }
7353                                             }
7354                                         }
7355                                     }
7356                                   else
7357                                     {
7358                                       if (((word >> 22) & 0x1) == 0)
7359                                         {
7360                                           /* 33222222222211111111110000000000
7361                                              10987654321098765432109876543210
7362                                              x11001x0x01xxxxx1x0xxxxxxxxxxxxx
7363                                              st1h.  */
7364                                           return 1880;
7365                                         }
7366                                       else
7367                                         {
7368                                           /* 33222222222211111111110000000000
7369                                              10987654321098765432109876543210
7370                                              x11001x0x11xxxxx1x0xxxxxxxxxxxxx
7371                                              st1h.  */
7372                                           return 1885;
7373                                         }
7374                                     }
7375                                 }
7376                             }
7377                           else
7378                             {
7379                               if (((word >> 30) & 0x1) == 0)
7380                                 {
7381                                   if (((word >> 31) & 0x1) == 0)
7382                                     {
7383                                       if (((word >> 4) & 0x1) == 0)
7384                                         {
7385                                           /* 33222222222211111111110000000000
7386                                              10987654321098765432109876543210
7387                                              001001x0xx1xxxxxxx1xxxxxxxx0xxxx
7388                                              cmplo.  */
7389                                           return 1329;
7390                                         }
7391                                       else
7392                                         {
7393                                           /* 33222222222211111111110000000000
7394                                              10987654321098765432109876543210
7395                                              001001x0xx1xxxxxxx1xxxxxxxx1xxxx
7396                                              cmpls.  */
7397                                           return 1331;
7398                                         }
7399                                     }
7400                                   else
7401                                     {
7402                                       if (((word >> 14) & 0x1) == 0)
7403                                         {
7404                                           if (((word >> 20) & 0x1) == 0)
7405                                             {
7406                                               if (((word >> 22) & 0x1) == 0)
7407                                                 {
7408                                                   if (((word >> 23) & 0x1) == 0)
7409                                                     {
7410                                                       /* 33222222222211111111110000000000
7411                                                          10987654321098765432109876543210
7412                                                          101001x00010xxxxx01xxxxxxxxxxxxx
7413                                                          ld1b.  */
7414                                                       return 1503;
7415                                                     }
7416                                                   else
7417                                                     {
7418                                                       /* 33222222222211111111110000000000
7419                                                          10987654321098765432109876543210
7420                                                          101001x01010xxxxx01xxxxxxxxxxxxx
7421                                                          ld1h.  */
7422                                                       return 1524;
7423                                                     }
7424                                                 }
7425                                               else
7426                                                 {
7427                                                   if (((word >> 23) & 0x1) == 0)
7428                                                     {
7429                                                       /* 33222222222211111111110000000000
7430                                                          10987654321098765432109876543210
7431                                                          101001x00110xxxxx01xxxxxxxxxxxxx
7432                                                          ld1b.  */
7433                                                       return 1505;
7434                                                     }
7435                                                   else
7436                                                     {
7437                                                       /* 33222222222211111111110000000000
7438                                                          10987654321098765432109876543210
7439                                                          101001x01110xxxxx01xxxxxxxxxxxxx
7440                                                          ld1h.  */
7441                                                       return 1526;
7442                                                     }
7443                                                 }
7444                                             }
7445                                           else
7446                                             {
7447                                               if (((word >> 22) & 0x1) == 0)
7448                                                 {
7449                                                   if (((word >> 23) & 0x1) == 0)
7450                                                     {
7451                                                       /* 33222222222211111111110000000000
7452                                                          10987654321098765432109876543210
7453                                                          101001x00011xxxxx01xxxxxxxxxxxxx
7454                                                          ldnf1b.  */
7455                                                       return 1695;
7456                                                     }
7457                                                   else
7458                                                     {
7459                                                       /* 33222222222211111111110000000000
7460                                                          10987654321098765432109876543210
7461                                                          101001x01011xxxxx01xxxxxxxxxxxxx
7462                                                          ldnf1h.  */
7463                                                       return 1699;
7464                                                     }
7465                                                 }
7466                                               else
7467                                                 {
7468                                                   if (((word >> 23) & 0x1) == 0)
7469                                                     {
7470                                                       /* 33222222222211111111110000000000
7471                                                          10987654321098765432109876543210
7472                                                          101001x00111xxxxx01xxxxxxxxxxxxx
7473                                                          ldnf1b.  */
7474                                                       return 1697;
7475                                                     }
7476                                                   else
7477                                                     {
7478                                                       /* 33222222222211111111110000000000
7479                                                          10987654321098765432109876543210
7480                                                          101001x01111xxxxx01xxxxxxxxxxxxx
7481                                                          ldnf1h.  */
7482                                                       return 1701;
7483                                                     }
7484                                                 }
7485                                             }
7486                                         }
7487                                       else
7488                                         {
7489                                           if (((word >> 15) & 0x1) == 0)
7490                                             {
7491                                               if (((word >> 22) & 0x1) == 0)
7492                                                 {
7493                                                   if (((word >> 23) & 0x1) == 0)
7494                                                     {
7495                                                       /* 33222222222211111111110000000000
7496                                                          10987654321098765432109876543210
7497                                                          101001x0001xxxxx011xxxxxxxxxxxxx
7498                                                          ldff1b.  */
7499                                                       return 1621;
7500                                                     }
7501                                                   else
7502                                                     {
7503                                                       /* 33222222222211111111110000000000
7504                                                          10987654321098765432109876543210
7505                                                          101001x0101xxxxx011xxxxxxxxxxxxx
7506                                                          ldff1h.  */
7507                                                       return 1640;
7508                                                     }
7509                                                 }
7510                                               else
7511                                                 {
7512                                                   if (((word >> 23) & 0x1) == 0)
7513                                                     {
7514                                                       /* 33222222222211111111110000000000
7515                                                          10987654321098765432109876543210
7516                                                          101001x0011xxxxx011xxxxxxxxxxxxx
7517                                                          ldff1b.  */
7518                                                       return 1625;
7519                                                     }
7520                                                   else
7521                                                     {
7522                                                       /* 33222222222211111111110000000000
7523                                                          10987654321098765432109876543210
7524                                                          101001x0111xxxxx011xxxxxxxxxxxxx
7525                                                          ldff1h.  */
7526                                                       return 1644;
7527                                                     }
7528                                                 }
7529                                             }
7530                                           else
7531                                             {
7532                                               if (((word >> 22) & 0x1) == 0)
7533                                                 {
7534                                                   if (((word >> 23) & 0x1) == 0)
7535                                                     {
7536                                                       /* 33222222222211111111110000000000
7537                                                          10987654321098765432109876543210
7538                                                          101001x0001xxxxx111xxxxxxxxxxxxx
7539                                                          ld2b.  */
7540                                                       return 1595;
7541                                                     }
7542                                                   else
7543                                                     {
7544                                                       /* 33222222222211111111110000000000
7545                                                          10987654321098765432109876543210
7546                                                          101001x0101xxxxx111xxxxxxxxxxxxx
7547                                                          ld2h.  */
7548                                                       return 1599;
7549                                                     }
7550                                                 }
7551                                               else
7552                                                 {
7553                                                   if (((word >> 23) & 0x1) == 0)
7554                                                     {
7555                                                       /* 33222222222211111111110000000000
7556                                                          10987654321098765432109876543210
7557                                                          101001x0011xxxxx111xxxxxxxxxxxxx
7558                                                          ld4b.  */
7559                                                       return 1611;
7560                                                     }
7561                                                   else
7562                                                     {
7563                                                       /* 33222222222211111111110000000000
7564                                                          10987654321098765432109876543210
7565                                                          101001x0111xxxxx111xxxxxxxxxxxxx
7566                                                          ld4h.  */
7567                                                       return 1615;
7568                                                     }
7569                                                 }
7570                                             }
7571                                         }
7572                                     }
7573                                 }
7574                               else
7575                                 {
7576                                   if (((word >> 14) & 0x1) == 0)
7577                                     {
7578                                       if (((word >> 15) & 0x1) == 0)
7579                                         {
7580                                           if (((word >> 23) & 0x1) == 0)
7581                                             {
7582                                               /* 33222222222211111111110000000000
7583                                                  10987654321098765432109876543210
7584                                                  x11001x00x1xxxxx001xxxxxxxxxxxxx
7585                                                  fmul.  */
7586                                               return 1444;
7587                                             }
7588                                           else
7589                                             {
7590                                               if (((word >> 22) & 0x1) == 0)
7591                                                 {
7592                                                   /* 33222222222211111111110000000000
7593                                                      10987654321098765432109876543210
7594                                                      x11001x0101xxxxx001xxxxxxxxxxxxx
7595                                                      fmul.  */
7596                                                   return 1445;
7597                                                 }
7598                                               else
7599                                                 {
7600                                                   /* 33222222222211111111110000000000
7601                                                      10987654321098765432109876543210
7602                                                      x11001x0111xxxxx001xxxxxxxxxxxxx
7603                                                      fmul.  */
7604                                                   return 1446;
7605                                                 }
7606                                             }
7607                                         }
7608                                       else
7609                                         {
7610                                           if (((word >> 22) & 0x1) == 0)
7611                                             {
7612                                               /* 33222222222211111111110000000000
7613                                                  10987654321098765432109876543210
7614                                                  x11001x0x01xxxxx101xxxxxxxxxxxxx
7615                                                  st1h.  */
7616                                               return 1881;
7617                                             }
7618                                           else
7619                                             {
7620                                               if (((word >> 23) & 0x1) == 0)
7621                                                 {
7622                                                   /* 33222222222211111111110000000000
7623                                                      10987654321098765432109876543210
7624                                                      x11001x0011xxxxx101xxxxxxxxxxxxx
7625                                                      st1b.  */
7626                                                   return 1868;
7627                                                 }
7628                                               else
7629                                                 {
7630                                                   /* 33222222222211111111110000000000
7631                                                      10987654321098765432109876543210
7632                                                      x11001x0111xxxxx101xxxxxxxxxxxxx
7633                                                      st1h.  */
7634                                                   return 1889;
7635                                                 }
7636                                             }
7637                                         }
7638                                     }
7639                                   else
7640                                     {
7641                                       if (((word >> 15) & 0x1) == 0)
7642                                         {
7643                                           if (((word >> 22) & 0x1) == 0)
7644                                             {
7645                                               if (((word >> 23) & 0x1) == 0)
7646                                                 {
7647                                                   /* 33222222222211111111110000000000
7648                                                      10987654321098765432109876543210
7649                                                      x11001x0001xxxxx011xxxxxxxxxxxxx
7650                                                      st2b.  */
7651                                                   return 1903;
7652                                                 }
7653                                               else
7654                                                 {
7655                                                   /* 33222222222211111111110000000000
7656                                                      10987654321098765432109876543210
7657                                                      x11001x0101xxxxx011xxxxxxxxxxxxx
7658                                                      st2h.  */
7659                                                   return 1907;
7660                                                 }
7661                                             }
7662                                           else
7663                                             {
7664                                               if (((word >> 23) & 0x1) == 0)
7665                                                 {
7666                                                   /* 33222222222211111111110000000000
7667                                                      10987654321098765432109876543210
7668                                                      x11001x0011xxxxx011xxxxxxxxxxxxx
7669                                                      st4b.  */
7670                                                   return 1919;
7671                                                 }
7672                                               else
7673                                                 {
7674                                                   /* 33222222222211111111110000000000
7675                                                      10987654321098765432109876543210
7676                                                      x11001x0111xxxxx011xxxxxxxxxxxxx
7677                                                      st4h.  */
7678                                                   return 1923;
7679                                                 }
7680                                             }
7681                                         }
7682                                       else
7683                                         {
7684                                           if (((word >> 20) & 0x1) == 0)
7685                                             {
7686                                               if (((word >> 22) & 0x1) == 0)
7687                                                 {
7688                                                   if (((word >> 23) & 0x1) == 0)
7689                                                     {
7690                                                       /* 33222222222211111111110000000000
7691                                                          10987654321098765432109876543210
7692                                                          x11001x00010xxxx111xxxxxxxxxxxxx
7693                                                          st1b.  */
7694                                                       return 1865;
7695                                                     }
7696                                                   else
7697                                                     {
7698                                                       /* 33222222222211111111110000000000
7699                                                          10987654321098765432109876543210
7700                                                          x11001x01010xxxx111xxxxxxxxxxxxx
7701                                                          st1h.  */
7702                                                       return 1886;
7703                                                     }
7704                                                 }
7705                                               else
7706                                                 {
7707                                                   if (((word >> 23) & 0x1) == 0)
7708                                                     {
7709                                                       /* 33222222222211111111110000000000
7710                                                          10987654321098765432109876543210
7711                                                          x11001x00110xxxx111xxxxxxxxxxxxx
7712                                                          st1b.  */
7713                                                       return 1869;
7714                                                     }
7715                                                   else
7716                                                     {
7717                                                       /* 33222222222211111111110000000000
7718                                                          10987654321098765432109876543210
7719                                                          x11001x01110xxxx111xxxxxxxxxxxxx
7720                                                          st1h.  */
7721                                                       return 1890;
7722                                                     }
7723                                                 }
7724                                             }
7725                                           else
7726                                             {
7727                                               if (((word >> 22) & 0x1) == 0)
7728                                                 {
7729                                                   if (((word >> 23) & 0x1) == 0)
7730                                                     {
7731                                                       /* 33222222222211111111110000000000
7732                                                          10987654321098765432109876543210
7733                                                          x11001x00011xxxx111xxxxxxxxxxxxx
7734                                                          st2b.  */
7735                                                       return 1904;
7736                                                     }
7737                                                   else
7738                                                     {
7739                                                       /* 33222222222211111111110000000000
7740                                                          10987654321098765432109876543210
7741                                                          x11001x01011xxxx111xxxxxxxxxxxxx
7742                                                          st2h.  */
7743                                                       return 1908;
7744                                                     }
7745                                                 }
7746                                               else
7747                                                 {
7748                                                   if (((word >> 23) & 0x1) == 0)
7749                                                     {
7750                                                       /* 33222222222211111111110000000000
7751                                                          10987654321098765432109876543210
7752                                                          x11001x00111xxxx111xxxxxxxxxxxxx
7753                                                          st4b.  */
7754                                                       return 1920;
7755                                                     }
7756                                                   else
7757                                                     {
7758                                                       /* 33222222222211111111110000000000
7759                                                          10987654321098765432109876543210
7760                                                          x11001x01111xxxx111xxxxxxxxxxxxx
7761                                                          st4h.  */
7762                                                       return 1924;
7763                                                     }
7764                                                 }
7765                                             }
7766                                         }
7767                                     }
7768                                 }
7769                             }
7770                         }
7771                     }
7772                 }
7773               else
7774                 {
7775                   if (((word >> 29) & 0x1) == 0)
7776                     {
7777                       if (((word >> 30) & 0x1) == 0)
7778                         {
7779                           if (((word >> 31) & 0x1) == 0)
7780                             {
7781                               if (((word >> 21) & 0x1) == 0)
7782                                 {
7783                                   if (((word >> 20) & 0x1) == 0)
7784                                     {
7785                                       if (((word >> 22) & 0x1) == 0)
7786                                         {
7787                                           if (((word >> 23) & 0x1) == 0)
7788                                             {
7789                                               /* 33222222222211111111110000000000
7790                                                  10987654321098765432109876543210
7791                                                  000001x10000xxxxxxxxxxxxxxxxxxxx
7792                                                  orr.  */
7793                                               return 1749;
7794                                             }
7795                                           else
7796                                             {
7797                                               /* 33222222222211111111110000000000
7798                                                  10987654321098765432109876543210
7799                                                  000001x11000xxxxxxxxxxxxxxxxxxxx
7800                                                  and.  */
7801                                               return 1277;
7802                                             }
7803                                         }
7804                                       else
7805                                         {
7806                                           if (((word >> 23) & 0x1) == 0)
7807                                             {
7808                                               /* 33222222222211111111110000000000
7809                                                  10987654321098765432109876543210
7810                                                  000001x10100xxxxxxxxxxxxxxxxxxxx
7811                                                  eor.  */
7812                                               return 1364;
7813                                             }
7814                                           else
7815                                             {
7816                                               /* 33222222222211111111110000000000
7817                                                  10987654321098765432109876543210
7818                                                  000001x11100xxxxxxxxxxxxxxxxxxxx
7819                                                  dupm.  */
7820                                               return 1362;
7821                                             }
7822                                         }
7823                                     }
7824                                   else
7825                                     {
7826                                       if (((word >> 15) & 0x1) == 0)
7827                                         {
7828                                           /* 33222222222211111111110000000000
7829                                              10987654321098765432109876543210
7830                                              000001x1xx01xxxx0xxxxxxxxxxxxxxx
7831                                              cpy.  */
7832                                           return 1347;
7833                                         }
7834                                       else
7835                                         {
7836                                           /* 33222222222211111111110000000000
7837                                              10987654321098765432109876543210
7838                                              000001x1xx01xxxx1xxxxxxxxxxxxxxx
7839                                              fcpy.  */
7840                                           return 1394;
7841                                         }
7842                                     }
7843                                 }
7844                               else
7845                                 {
7846                                   if (((word >> 14) & 0x1) == 0)
7847                                     {
7848                                       if (((word >> 13) & 0x1) == 0)
7849                                         {
7850                                           if (((word >> 15) & 0x1) == 0)
7851                                             {
7852                                               /* 33222222222211111111110000000000
7853                                                  10987654321098765432109876543210
7854                                                  000001x1xx1xxxxx000xxxxxxxxxxxxx
7855                                                  ext.  */
7856                                               return 1369;
7857                                             }
7858                                           else
7859                                             {
7860                                               if (((word >> 16) & 0x1) == 0)
7861                                                 {
7862                                                   if (((word >> 17) & 0x1) == 0)
7863                                                     {
7864                                                       if (((word >> 18) & 0x1) == 0)
7865                                                         {
7866                                                           if (((word >> 19) & 0x1) == 0)
7867                                                             {
7868                                                               /* 33222222222211111111110000000000
7869                                                                  10987654321098765432109876543210
7870                                                                  000001x1xx1x0000100xxxxxxxxxxxxx
7871                                                                  cpy.  */
7872                                                               return 1345;
7873                                                             }
7874                                                           else
7875                                                             {
7876                                                               /* 33222222222211111111110000000000
7877                                                                  10987654321098765432109876543210
7878                                                                  000001x1xx1x1000100xxxxxxxxxxxxx
7879                                                                  clasta.  */
7880                                                               return 1303;
7881                                                             }
7882                                                         }
7883                                                       else
7884                                                         {
7885                                                           if (((word >> 19) & 0x1) == 0)
7886                                                             {
7887                                                               /* 33222222222211111111110000000000
7888                                                                  10987654321098765432109876543210
7889                                                                  000001x1xx1x0100100xxxxxxxxxxxxx
7890                                                                  revb.  */
7891                                                               return 1797;
7892                                                             }
7893                                                           else
7894                                                             {
7895                                                               /* 33222222222211111111110000000000
7896                                                                  10987654321098765432109876543210
7897                                                                  000001x1xx1x1100100xxxxxxxxxxxxx
7898                                                                  splice.  */
7899                                                               return 1824;
7900                                                             }
7901                                                         }
7902                                                     }
7903                                                   else
7904                                                     {
7905                                                       if (((word >> 18) & 0x1) == 0)
7906                                                         {
7907                                                           if (((word >> 19) & 0x1) == 0)
7908                                                             {
7909                                                               /* 33222222222211111111110000000000
7910                                                                  10987654321098765432109876543210
7911                                                                  000001x1xx1x0010100xxxxxxxxxxxxx
7912                                                                  lasta.  */
7913                                                               return 1491;
7914                                                             }
7915                                                           else
7916                                                             {
7917                                                               /* 33222222222211111111110000000000
7918                                                                  10987654321098765432109876543210
7919                                                                  000001x1xx1x1010100xxxxxxxxxxxxx
7920                                                                  clasta.  */
7921                                                               return 1304;
7922                                                             }
7923                                                         }
7924                                                       else
7925                                                         {
7926                                                           /* 33222222222211111111110000000000
7927                                                              10987654321098765432109876543210
7928                                                              000001x1xx1xx110100xxxxxxxxxxxxx
7929                                                              revw.  */
7930                                                           return 1799;
7931                                                         }
7932                                                     }
7933                                                 }
7934                                               else
7935                                                 {
7936                                                   if (((word >> 17) & 0x1) == 0)
7937                                                     {
7938                                                       if (((word >> 18) & 0x1) == 0)
7939                                                         {
7940                                                           if (((word >> 19) & 0x1) == 0)
7941                                                             {
7942                                                               /* 33222222222211111111110000000000
7943                                                                  10987654321098765432109876543210
7944                                                                  000001x1xx1x0001100xxxxxxxxxxxxx
7945                                                                  compact.  */
7946                                                               return 1344;
7947                                                             }
7948                                                           else
7949                                                             {
7950                                                               /* 33222222222211111111110000000000
7951                                                                  10987654321098765432109876543210
7952                                                                  000001x1xx1x1001100xxxxxxxxxxxxx
7953                                                                  clastb.  */
7954                                                               return 1306;
7955                                                             }
7956                                                         }
7957                                                       else
7958                                                         {
7959                                                           /* 33222222222211111111110000000000
7960                                                              10987654321098765432109876543210
7961                                                              000001x1xx1xx101100xxxxxxxxxxxxx
7962                                                              revh.  */
7963                                                           return 1798;
7964                                                         }
7965                                                     }
7966                                                   else
7967                                                     {
7968                                                       if (((word >> 18) & 0x1) == 0)
7969                                                         {
7970                                                           if (((word >> 19) & 0x1) == 0)
7971                                                             {
7972                                                               /* 33222222222211111111110000000000
7973                                                                  10987654321098765432109876543210
7974                                                                  000001x1xx1x0011100xxxxxxxxxxxxx
7975                                                                  lastb.  */
7976                                                               return 1493;
7977                                                             }
7978                                                           else
7979                                                             {
7980                                                               /* 33222222222211111111110000000000
7981                                                                  10987654321098765432109876543210
7982                                                                  000001x1xx1x1011100xxxxxxxxxxxxx
7983                                                                  clastb.  */
7984                                                               return 1307;
7985                                                             }
7986                                                         }
7987                                                       else
7988                                                         {
7989                                                           /* 33222222222211111111110000000000
7990                                                              10987654321098765432109876543210
7991                                                              000001x1xx1xx111100xxxxxxxxxxxxx
7992                                                              rbit.  */
7993                                                           return 1790;
7994                                                         }
7995                                                     }
7996                                                 }
7997                                             }
7998                                         }
7999                                       else
8000                                         {
8001                                           if (((word >> 15) & 0x1) == 0)
8002                                             {
8003                                               if (((word >> 11) & 0x1) == 0)
8004                                                 {
8005                                                   if (((word >> 12) & 0x1) == 0)
8006                                                     {
8007                                                       /* 33222222222211111111110000000000
8008                                                          10987654321098765432109876543210
8009                                                          000001x1xx1xxxxx00100xxxxxxxxxxx
8010                                                          dup.  */
8011                                                       return 1360;
8012                                                     }
8013                                                   else
8014                                                     {
8015                                                       /* 33222222222211111111110000000000
8016                                                          10987654321098765432109876543210
8017                                                          000001x1xx1xxxxx00110xxxxxxxxxxx
8018                                                          tbl.  */
8019                                                       return 1947;
8020                                                     }
8021                                                 }
8022                                               else
8023                                                 {
8024                                                   if (((word >> 16) & 0x1) == 0)
8025                                                     {
8026                                                       if (((word >> 17) & 0x1) == 0)
8027                                                         {
8028                                                           if (((word >> 18) & 0x1) == 0)
8029                                                             {
8030                                                               if (((word >> 19) & 0x1) == 0)
8031                                                                 {
8032                                                                   if (((word >> 20) & 0x1) == 0)
8033                                                                     {
8034                                                                       /* 33222222222211111111110000000000
8035                                                                          10987654321098765432109876543210
8036                                                                          000001x1xx100000001x1xxxxxxxxxxx
8037                                                                          dup.  */
8038                                                                       return 1359;
8039                                                                     }
8040                                                                   else
8041                                                                     {
8042                                                                       /* 33222222222211111111110000000000
8043                                                                          10987654321098765432109876543210
8044                                                                          000001x1xx110000001x1xxxxxxxxxxx
8045                                                                          sunpklo.  */
8046                                                                       return 1943;
8047                                                                     }
8048                                                                 }
8049                                                               else
8050                                                                 {
8051                                                                   /* 33222222222211111111110000000000
8052                                                                      10987654321098765432109876543210
8053                                                                      000001x1xx1x1000001x1xxxxxxxxxxx
8054                                                                      rev.  */
8055                                                                   return 1796;
8056                                                                 }
8057                                                             }
8058                                                           else
8059                                                             {
8060                                                               if (((word >> 20) & 0x1) == 0)
8061                                                                 {
8062                                                                   /* 33222222222211111111110000000000
8063                                                                      10987654321098765432109876543210
8064                                                                      000001x1xx10x100001x1xxxxxxxxxxx
8065                                                                      insr.  */
8066                                                                   return 1488;
8067                                                                 }
8068                                                               else
8069                                                                 {
8070                                                                   /* 33222222222211111111110000000000
8071                                                                      10987654321098765432109876543210
8072                                                                      000001x1xx11x100001x1xxxxxxxxxxx
8073                                                                      insr.  */
8074                                                                   return 1489;
8075                                                                 }
8076                                                             }
8077                                                         }
8078                                                       else
8079                                                         {
8080                                                           /* 33222222222211111111110000000000
8081                                                              10987654321098765432109876543210
8082                                                              000001x1xx1xxx10001x1xxxxxxxxxxx
8083                                                              uunpklo.  */
8084                                                           return 2006;
8085                                                         }
8086                                                     }
8087                                                   else
8088                                                     {
8089                                                       if (((word >> 17) & 0x1) == 0)
8090                                                         {
8091                                                           /* 33222222222211111111110000000000
8092                                                              10987654321098765432109876543210
8093                                                              000001x1xx1xxx01001x1xxxxxxxxxxx
8094                                                              sunpkhi.  */
8095                                                           return 1942;
8096                                                         }
8097                                                       else
8098                                                         {
8099                                                           /* 33222222222211111111110000000000
8100                                                              10987654321098765432109876543210
8101                                                              000001x1xx1xxx11001x1xxxxxxxxxxx
8102                                                              uunpkhi.  */
8103                                                           return 2005;
8104                                                         }
8105                                                     }
8106                                                 }
8107                                             }
8108                                           else
8109                                             {
8110                                               if (((word >> 16) & 0x1) == 0)
8111                                                 {
8112                                                   if (((word >> 19) & 0x1) == 0)
8113                                                     {
8114                                                       if (((word >> 20) & 0x1) == 0)
8115                                                         {
8116                                                           /* 33222222222211111111110000000000
8117                                                              10987654321098765432109876543210
8118                                                              000001x1xx100xx0101xxxxxxxxxxxxx
8119                                                              lasta.  */
8120                                                           return 1490;
8121                                                         }
8122                                                       else
8123                                                         {
8124                                                           /* 33222222222211111111110000000000
8125                                                              10987654321098765432109876543210
8126                                                              000001x1xx110xx0101xxxxxxxxxxxxx
8127                                                              clasta.  */
8128                                                           return 1305;
8129                                                         }
8130                                                     }
8131                                                   else
8132                                                     {
8133                                                       /* 33222222222211111111110000000000
8134                                                          10987654321098765432109876543210
8135                                                          000001x1xx1x1xx0101xxxxxxxxxxxxx
8136                                                          cpy.  */
8137                                                       return 1346;
8138                                                     }
8139                                                 }
8140                                               else
8141                                                 {
8142                                                   if (((word >> 20) & 0x1) == 0)
8143                                                     {
8144                                                       /* 33222222222211111111110000000000
8145                                                          10987654321098765432109876543210
8146                                                          000001x1xx10xxx1101xxxxxxxxxxxxx
8147                                                          lastb.  */
8148                                                       return 1492;
8149                                                     }
8150                                                   else
8151                                                     {
8152                                                       /* 33222222222211111111110000000000
8153                                                          10987654321098765432109876543210
8154                                                          000001x1xx11xxx1101xxxxxxxxxxxxx
8155                                                          clastb.  */
8156                                                       return 1308;
8157                                                     }
8158                                                 }
8159                                             }
8160                                         }
8161                                     }
8162                                   else
8163                                     {
8164                                       if (((word >> 15) & 0x1) == 0)
8165                                         {
8166                                           if (((word >> 10) & 0x1) == 0)
8167                                             {
8168                                               if (((word >> 11) & 0x1) == 0)
8169                                                 {
8170                                                   if (((word >> 12) & 0x1) == 0)
8171                                                     {
8172                                                       if (((word >> 13) & 0x1) == 0)
8173                                                         {
8174                                                           if (((word >> 20) & 0x1) == 0)
8175                                                             {
8176                                                               /* 33222222222211111111110000000000
8177                                                                  10987654321098765432109876543210
8178                                                                  000001x1xx10xxxx010000xxxxxxxxxx
8179                                                                  zip1.  */
8180                                                               return 2023;
8181                                                             }
8182                                                           else
8183                                                             {
8184                                                               if (((word >> 16) & 0x1) == 0)
8185                                                                 {
8186                                                                   if (((word >> 18) & 0x1) == 0)
8187                                                                     {
8188                                                                       /* 33222222222211111111110000000000
8189                                                                          10987654321098765432109876543210
8190                                                                          000001x1xx11x0x0010000xxxxxxxxxx
8191                                                                          punpklo.  */
8192                                                                       return 1789;
8193                                                                     }
8194                                                                   else
8195                                                                     {
8196                                                                       /* 33222222222211111111110000000000
8197                                                                          10987654321098765432109876543210
8198                                                                          000001x1xx11x1x0010000xxxxxxxxxx
8199                                                                          rev.  */
8200                                                                       return 1795;
8201                                                                     }
8202                                                                 }
8203                                                               else
8204                                                                 {
8205                                                                   /* 33222222222211111111110000000000
8206                                                                      10987654321098765432109876543210
8207                                                                      000001x1xx11xxx1010000xxxxxxxxxx
8208                                                                      punpkhi.  */
8209                                                                   return 1788;
8210                                                                 }
8211                                                             }
8212                                                         }
8213                                                       else
8214                                                         {
8215                                                           /* 33222222222211111111110000000000
8216                                                              10987654321098765432109876543210
8217                                                              000001x1xx1xxxxx011000xxxxxxxxxx
8218                                                              zip1.  */
8219                                                           return 2024;
8220                                                         }
8221                                                     }
8222                                                   else
8223                                                     {
8224                                                       if (((word >> 13) & 0x1) == 0)
8225                                                         {
8226                                                           /* 33222222222211111111110000000000
8227                                                              10987654321098765432109876543210
8228                                                              000001x1xx1xxxxx010100xxxxxxxxxx
8229                                                              trn1.  */
8230                                                           return 1948;
8231                                                         }
8232                                                       else
8233                                                         {
8234                                                           /* 33222222222211111111110000000000
8235                                                              10987654321098765432109876543210
8236                                                              000001x1xx1xxxxx011100xxxxxxxxxx
8237                                                              trn1.  */
8238                                                           return 1949;
8239                                                         }
8240                                                     }
8241                                                 }
8242                                               else
8243                                                 {
8244                                                   if (((word >> 13) & 0x1) == 0)
8245                                                     {
8246                                                       /* 33222222222211111111110000000000
8247                                                          10987654321098765432109876543210
8248                                                          000001x1xx1xxxxx010x10xxxxxxxxxx
8249                                                          uzp1.  */
8250                                                       return 2010;
8251                                                     }
8252                                                   else
8253                                                     {
8254                                                       /* 33222222222211111111110000000000
8255                                                          10987654321098765432109876543210
8256                                                          000001x1xx1xxxxx011x10xxxxxxxxxx
8257                                                          uzp1.  */
8258                                                       return 2011;
8259                                                     }
8260                                                 }
8261                                             }
8262                                           else
8263                                             {
8264                                               if (((word >> 11) & 0x1) == 0)
8265                                                 {
8266                                                   if (((word >> 12) & 0x1) == 0)
8267                                                     {
8268                                                       if (((word >> 13) & 0x1) == 0)
8269                                                         {
8270                                                           /* 33222222222211111111110000000000
8271                                                              10987654321098765432109876543210
8272                                                              000001x1xx1xxxxx010001xxxxxxxxxx
8273                                                              zip2.  */
8274                                                           return 2025;
8275                                                         }
8276                                                       else
8277                                                         {
8278                                                           /* 33222222222211111111110000000000
8279                                                              10987654321098765432109876543210
8280                                                              000001x1xx1xxxxx011001xxxxxxxxxx
8281                                                              zip2.  */
8282                                                           return 2026;
8283                                                         }
8284                                                     }
8285                                                   else
8286                                                     {
8287                                                       if (((word >> 13) & 0x1) == 0)
8288                                                         {
8289                                                           /* 33222222222211111111110000000000
8290                                                              10987654321098765432109876543210
8291                                                              000001x1xx1xxxxx010101xxxxxxxxxx
8292                                                              trn2.  */
8293                                                           return 1950;
8294                                                         }
8295                                                       else
8296                                                         {
8297                                                           /* 33222222222211111111110000000000
8298                                                              10987654321098765432109876543210
8299                                                              000001x1xx1xxxxx011101xxxxxxxxxx
8300                                                              trn2.  */
8301                                                           return 1951;
8302                                                         }
8303                                                     }
8304                                                 }
8305                                               else
8306                                                 {
8307                                                   if (((word >> 13) & 0x1) == 0)
8308                                                     {
8309                                                       /* 33222222222211111111110000000000
8310                                                          10987654321098765432109876543210
8311                                                          000001x1xx1xxxxx010x11xxxxxxxxxx
8312                                                          uzp2.  */
8313                                                       return 2012;
8314                                                     }
8315                                                   else
8316                                                     {
8317                                                       /* 33222222222211111111110000000000
8318                                                          10987654321098765432109876543210
8319                                                          000001x1xx1xxxxx011x11xxxxxxxxxx
8320                                                          uzp2.  */
8321                                                       return 2013;
8322                                                     }
8323                                                 }
8324                                             }
8325                                         }
8326                                       else
8327                                         {
8328                                           /* 33222222222211111111110000000000
8329                                              10987654321098765432109876543210
8330                                              000001x1xx1xxxxx11xxxxxxxxxxxxxx
8331                                              sel.  */
8332                                           return 1814;
8333                                         }
8334                                     }
8335                                 }
8336                             }
8337                           else
8338                             {
8339                               if (((word >> 13) & 0x1) == 0)
8340                                 {
8341                                   if (((word >> 14) & 0x1) == 0)
8342                                     {
8343                                       if (((word >> 15) & 0x1) == 0)
8344                                         {
8345                                           if (((word >> 22) & 0x1) == 0)
8346                                             {
8347                                               /* 33222222222211111111110000000000
8348                                                  10987654321098765432109876543210
8349                                                  100001x1x0xxxxxx000xxxxxxxxxxxxx
8350                                                  ldr.  */
8351                                               return 1718;
8352                                             }
8353                                           else
8354                                             {
8355                                               /* 33222222222211111111110000000000
8356                                                  10987654321098765432109876543210
8357                                                  100001x1x1xxxxxx000xxxxxxxxxxxxx
8358                                                  prfb.  */
8359                                               return 1762;
8360                                             }
8361                                         }
8362                                       else
8363                                         {
8364                                           if (((word >> 23) & 0x1) == 0)
8365                                             {
8366                                               /* 33222222222211111111110000000000
8367                                                  10987654321098765432109876543210
8368                                                  100001x10xxxxxxx100xxxxxxxxxxxxx
8369                                                  ld1rsh.  */
8370                                               return 1547;
8371                                             }
8372                                           else
8373                                             {
8374                                               /* 33222222222211111111110000000000
8375                                                  10987654321098765432109876543210
8376                                                  100001x11xxxxxxx100xxxxxxxxxxxxx
8377                                                  ld1rsb.  */
8378                                               return 1544;
8379                                             }
8380                                         }
8381                                     }
8382                                   else
8383                                     {
8384                                       if (((word >> 15) & 0x1) == 0)
8385                                         {
8386                                           if (((word >> 23) & 0x1) == 0)
8387                                             {
8388                                               if (((word >> 21) & 0x1) == 0)
8389                                                 {
8390                                                   /* 33222222222211111111110000000000
8391                                                      10987654321098765432109876543210
8392                                                      100001x10x0xxxxx010xxxxxxxxxxxxx
8393                                                      ld1w.  */
8394                                                   return 1582;
8395                                                 }
8396                                               else
8397                                                 {
8398                                                   /* 33222222222211111111110000000000
8399                                                      10987654321098765432109876543210
8400                                                      100001x10x1xxxxx010xxxxxxxxxxxxx
8401                                                      ld1w.  */
8402                                                   return 1583;
8403                                                 }
8404                                             }
8405                                           else
8406                                             {
8407                                               if (((word >> 22) & 0x1) == 0)
8408                                                 {
8409                                                   /* 33222222222211111111110000000000
8410                                                      10987654321098765432109876543210
8411                                                      100001x110xxxxxx010xxxxxxxxxxxxx
8412                                                      ldr.  */
8413                                                   return 1719;
8414                                                 }
8415                                               else
8416                                                 {
8417                                                   /* 33222222222211111111110000000000
8418                                                      10987654321098765432109876543210
8419                                                      100001x111xxxxxx010xxxxxxxxxxxxx
8420                                                      prfw.  */
8421                                                   return 1783;
8422                                                 }
8423                                             }
8424                                         }
8425                                       else
8426                                         {
8427                                           if (((word >> 22) & 0x1) == 0)
8428                                             {
8429                                               if (((word >> 21) & 0x1) == 0)
8430                                                 {
8431                                                   if (((word >> 23) & 0x1) == 0)
8432                                                     {
8433                                                       /* 33222222222211111111110000000000
8434                                                          10987654321098765432109876543210
8435                                                          100001x1000xxxxx110xxxxxxxxxxxxx
8436                                                          prfw.  */
8437                                                       return 1779;
8438                                                     }
8439                                                   else
8440                                                     {
8441                                                       /* 33222222222211111111110000000000
8442                                                          10987654321098765432109876543210
8443                                                          100001x1100xxxxx110xxxxxxxxxxxxx
8444                                                          prfd.  */
8445                                                       return 1765;
8446                                                     }
8447                                                 }
8448                                               else
8449                                                 {
8450                                                   /* 33222222222211111111110000000000
8451                                                      10987654321098765432109876543210
8452                                                      100001x1x01xxxxx110xxxxxxxxxxxxx
8453                                                      ld1w.  */
8454                                                   return 1590;
8455                                                 }
8456                                             }
8457                                           else
8458                                             {
8459                                               if (((word >> 23) & 0x1) == 0)
8460                                                 {
8461                                                   /* 33222222222211111111110000000000
8462                                                      10987654321098765432109876543210
8463                                                      100001x101xxxxxx110xxxxxxxxxxxxx
8464                                                      ld1rw.  */
8465                                                   return 1550;
8466                                                 }
8467                                               else
8468                                                 {
8469                                                   /* 33222222222211111111110000000000
8470                                                      10987654321098765432109876543210
8471                                                      100001x111xxxxxx110xxxxxxxxxxxxx
8472                                                      ld1rsb.  */
8473                                                   return 1546;
8474                                                 }
8475                                             }
8476                                         }
8477                                     }
8478                                 }
8479                               else
8480                                 {
8481                                   if (((word >> 14) & 0x1) == 0)
8482                                     {
8483                                       if (((word >> 15) & 0x1) == 0)
8484                                         {
8485                                           /* 33222222222211111111110000000000
8486                                              10987654321098765432109876543210
8487                                              100001x1xxxxxxxx001xxxxxxxxxxxxx
8488                                              prfh.  */
8489                                           return 1776;
8490                                         }
8491                                       else
8492                                         {
8493                                           if (((word >> 23) & 0x1) == 0)
8494                                             {
8495                                               /* 33222222222211111111110000000000
8496                                                  10987654321098765432109876543210
8497                                                  100001x10xxxxxxx101xxxxxxxxxxxxx
8498                                                  ld1rsh.  */
8499                                               return 1548;
8500                                             }
8501                                           else
8502                                             {
8503                                               /* 33222222222211111111110000000000
8504                                                  10987654321098765432109876543210
8505                                                  100001x11xxxxxxx101xxxxxxxxxxxxx
8506                                                  ld1rsb.  */
8507                                               return 1545;
8508                                             }
8509                                         }
8510                                     }
8511                                   else
8512                                     {
8513                                       if (((word >> 15) & 0x1) == 0)
8514                                         {
8515                                           if (((word >> 23) & 0x1) == 0)
8516                                             {
8517                                               if (((word >> 21) & 0x1) == 0)
8518                                                 {
8519                                                   /* 33222222222211111111110000000000
8520                                                      10987654321098765432109876543210
8521                                                      100001x10x0xxxxx011xxxxxxxxxxxxx
8522                                                      ldff1w.  */
8523                                                   return 1682;
8524                                                 }
8525                                               else
8526                                                 {
8527                                                   /* 33222222222211111111110000000000
8528                                                      10987654321098765432109876543210
8529                                                      100001x10x1xxxxx011xxxxxxxxxxxxx
8530                                                      ldff1w.  */
8531                                                   return 1683;
8532                                                 }
8533                                             }
8534                                           else
8535                                             {
8536                                               /* 33222222222211111111110000000000
8537                                                  10987654321098765432109876543210
8538                                                  100001x11xxxxxxx011xxxxxxxxxxxxx
8539                                                  prfd.  */
8540                                               return 1769;
8541                                             }
8542                                         }
8543                                       else
8544                                         {
8545                                           if (((word >> 22) & 0x1) == 0)
8546                                             {
8547                                               if (((word >> 21) & 0x1) == 0)
8548                                                 {
8549                                                   if (((word >> 23) & 0x1) == 0)
8550                                                     {
8551                                                       /* 33222222222211111111110000000000
8552                                                          10987654321098765432109876543210
8553                                                          100001x1000xxxxx111xxxxxxxxxxxxx
8554                                                          prfw.  */
8555                                                       return 1782;
8556                                                     }
8557                                                   else
8558                                                     {
8559                                                       /* 33222222222211111111110000000000
8560                                                          10987654321098765432109876543210
8561                                                          100001x1100xxxxx111xxxxxxxxxxxxx
8562                                                          prfd.  */
8563                                                       return 1768;
8564                                                     }
8565                                                 }
8566                                               else
8567                                                 {
8568                                                   /* 33222222222211111111110000000000
8569                                                      10987654321098765432109876543210
8570                                                      100001x1x01xxxxx111xxxxxxxxxxxxx
8571                                                      ldff1w.  */
8572                                                   return 1692;
8573                                                 }
8574                                             }
8575                                           else
8576                                             {
8577                                               if (((word >> 23) & 0x1) == 0)
8578                                                 {
8579                                                   /* 33222222222211111111110000000000
8580                                                      10987654321098765432109876543210
8581                                                      100001x101xxxxxx111xxxxxxxxxxxxx
8582                                                      ld1rw.  */
8583                                                   return 1551;
8584                                                 }
8585                                               else
8586                                                 {
8587                                                   /* 33222222222211111111110000000000
8588                                                      10987654321098765432109876543210
8589                                                      100001x111xxxxxx111xxxxxxxxxxxxx
8590                                                      ld1rd.  */
8591                                                   return 1532;
8592                                                 }
8593                                             }
8594                                         }
8595                                     }
8596                                 }
8597                             }
8598                         }
8599                       else
8600                         {
8601                           if (((word >> 13) & 0x1) == 0)
8602                             {
8603                               if (((word >> 14) & 0x1) == 0)
8604                                 {
8605                                   if (((word >> 15) & 0x1) == 0)
8606                                     {
8607                                       if (((word >> 21) & 0x1) == 0)
8608                                         {
8609                                           /* 33222222222211111111110000000000
8610                                              10987654321098765432109876543210
8611                                              x10001x1xx0xxxxx000xxxxxxxxxxxxx
8612                                              ld1sw.  */
8613                                           return 1576;
8614                                         }
8615                                       else
8616                                         {
8617                                           /* 33222222222211111111110000000000
8618                                              10987654321098765432109876543210
8619                                              x10001x1xx1xxxxx000xxxxxxxxxxxxx
8620                                              ld1sw.  */
8621                                           return 1577;
8622                                         }
8623                                     }
8624                                   else
8625                                     {
8626                                       if (((word >> 21) & 0x1) == 0)
8627                                         {
8628                                           /* 33222222222211111111110000000000
8629                                              10987654321098765432109876543210
8630                                              x10001x1xx0xxxxx100xxxxxxxxxxxxx
8631                                              ld1sw.  */
8632                                           return 1578;
8633                                         }
8634                                       else
8635                                         {
8636                                           if (((word >> 22) & 0x1) == 0)
8637                                             {
8638                                               /* 33222222222211111111110000000000
8639                                                  10987654321098765432109876543210
8640                                                  x10001x1x01xxxxx100xxxxxxxxxxxxx
8641                                                  ld1sw.  */
8642                                               return 1581;
8643                                             }
8644                                           else
8645                                             {
8646                                               /* 33222222222211111111110000000000
8647                                                  10987654321098765432109876543210
8648                                                  x10001x1x11xxxxx100xxxxxxxxxxxxx
8649                                                  ld1sw.  */
8650                                               return 1579;
8651                                             }
8652                                         }
8653                                     }
8654                                 }
8655                               else
8656                                 {
8657                                   if (((word >> 15) & 0x1) == 0)
8658                                     {
8659                                       if (((word >> 21) & 0x1) == 0)
8660                                         {
8661                                           if (((word >> 23) & 0x1) == 0)
8662                                             {
8663                                               /* 33222222222211111111110000000000
8664                                                  10987654321098765432109876543210
8665                                                  x10001x10x0xxxxx010xxxxxxxxxxxxx
8666                                                  ld1w.  */
8667                                               return 1586;
8668                                             }
8669                                           else
8670                                             {
8671                                               /* 33222222222211111111110000000000
8672                                                  10987654321098765432109876543210
8673                                                  x10001x11x0xxxxx010xxxxxxxxxxxxx
8674                                                  ld1d.  */
8675                                               return 1508;
8676                                             }
8677                                         }
8678                                       else
8679                                         {
8680                                           if (((word >> 23) & 0x1) == 0)
8681                                             {
8682                                               /* 33222222222211111111110000000000
8683                                                  10987654321098765432109876543210
8684                                                  x10001x10x1xxxxx010xxxxxxxxxxxxx
8685                                                  ld1w.  */
8686                                               return 1587;
8687                                             }
8688                                           else
8689                                             {
8690                                               /* 33222222222211111111110000000000
8691                                                  10987654321098765432109876543210
8692                                                  x10001x11x1xxxxx010xxxxxxxxxxxxx
8693                                                  ld1d.  */
8694                                               return 1509;
8695                                             }
8696                                         }
8697                                     }
8698                                   else
8699                                     {
8700                                       if (((word >> 21) & 0x1) == 0)
8701                                         {
8702                                           if (((word >> 23) & 0x1) == 0)
8703                                             {
8704                                               /* 33222222222211111111110000000000
8705                                                  10987654321098765432109876543210
8706                                                  x10001x10x0xxxxx110xxxxxxxxxxxxx
8707                                                  ld1w.  */
8708                                               return 1588;
8709                                             }
8710                                           else
8711                                             {
8712                                               /* 33222222222211111111110000000000
8713                                                  10987654321098765432109876543210
8714                                                  x10001x11x0xxxxx110xxxxxxxxxxxxx
8715                                                  ld1d.  */
8716                                               return 1510;
8717                                             }
8718                                         }
8719                                       else
8720                                         {
8721                                           if (((word >> 22) & 0x1) == 0)
8722                                             {
8723                                               if (((word >> 23) & 0x1) == 0)
8724                                                 {
8725                                                   /* 33222222222211111111110000000000
8726                                                      10987654321098765432109876543210
8727                                                      x10001x1001xxxxx110xxxxxxxxxxxxx
8728                                                      ld1w.  */
8729                                                   return 1593;
8730                                                 }
8731                                               else
8732                                                 {
8733                                                   /* 33222222222211111111110000000000
8734                                                      10987654321098765432109876543210
8735                                                      x10001x1101xxxxx110xxxxxxxxxxxxx
8736                                                      ld1d.  */
8737                                                   return 1513;
8738                                                 }
8739                                             }
8740                                           else
8741                                             {
8742                                               if (((word >> 23) & 0x1) == 0)
8743                                                 {
8744                                                   /* 33222222222211111111110000000000
8745                                                      10987654321098765432109876543210
8746                                                      x10001x1011xxxxx110xxxxxxxxxxxxx
8747                                                      ld1w.  */
8748                                                   return 1589;
8749                                                 }
8750                                               else
8751                                                 {
8752                                                   /* 33222222222211111111110000000000
8753                                                      10987654321098765432109876543210
8754                                                      x10001x1111xxxxx110xxxxxxxxxxxxx
8755                                                      ld1d.  */
8756                                                   return 1511;
8757                                                 }
8758                                             }
8759                                         }
8760                                     }
8761                                 }
8762                             }
8763                           else
8764                             {
8765                               if (((word >> 14) & 0x1) == 0)
8766                                 {
8767                                   if (((word >> 15) & 0x1) == 0)
8768                                     {
8769                                       if (((word >> 21) & 0x1) == 0)
8770                                         {
8771                                           /* 33222222222211111111110000000000
8772                                              10987654321098765432109876543210
8773                                              x10001x1xx0xxxxx001xxxxxxxxxxxxx
8774                                              ldff1sw.  */
8775                                           return 1677;
8776                                         }
8777                                       else
8778                                         {
8779                                           /* 33222222222211111111110000000000
8780                                              10987654321098765432109876543210
8781                                              x10001x1xx1xxxxx001xxxxxxxxxxxxx
8782                                              ldff1sw.  */
8783                                           return 1678;
8784                                         }
8785                                     }
8786                                   else
8787                                     {
8788                                       if (((word >> 21) & 0x1) == 0)
8789                                         {
8790                                           /* 33222222222211111111110000000000
8791                                              10987654321098765432109876543210
8792                                              x10001x1xx0xxxxx101xxxxxxxxxxxxx
8793                                              ldff1sw.  */
8794                                           return 1679;
8795                                         }
8796                                       else
8797                                         {
8798                                           if (((word >> 22) & 0x1) == 0)
8799                                             {
8800                                               /* 33222222222211111111110000000000
8801                                                  10987654321098765432109876543210
8802                                                  x10001x1x01xxxxx101xxxxxxxxxxxxx
8803                                                  ldff1sw.  */
8804                                               return 1681;
8805                                             }
8806                                           else
8807                                             {
8808                                               /* 33222222222211111111110000000000
8809                                                  10987654321098765432109876543210
8810                                                  x10001x1x11xxxxx101xxxxxxxxxxxxx
8811                                                  ldff1sw.  */
8812                                               return 1680;
8813                                             }
8814                                         }
8815                                     }
8816                                 }
8817                               else
8818                                 {
8819                                   if (((word >> 15) & 0x1) == 0)
8820                                     {
8821                                       if (((word >> 21) & 0x1) == 0)
8822                                         {
8823                                           if (((word >> 23) & 0x1) == 0)
8824                                             {
8825                                               /* 33222222222211111111110000000000
8826                                                  10987654321098765432109876543210
8827                                                  x10001x10x0xxxxx011xxxxxxxxxxxxx
8828                                                  ldff1w.  */
8829                                               return 1688;
8830                                             }
8831                                           else
8832                                             {
8833                                               /* 33222222222211111111110000000000
8834                                                  10987654321098765432109876543210
8835                                                  x10001x11x0xxxxx011xxxxxxxxxxxxx
8836                                                  ldff1d.  */
8837                                               return 1633;
8838                                             }
8839                                         }
8840                                       else
8841                                         {
8842                                           if (((word >> 23) & 0x1) == 0)
8843                                             {
8844                                               /* 33222222222211111111110000000000
8845                                                  10987654321098765432109876543210
8846                                                  x10001x10x1xxxxx011xxxxxxxxxxxxx
8847                                                  ldff1w.  */
8848                                               return 1689;
8849                                             }
8850                                           else
8851                                             {
8852                                               /* 33222222222211111111110000000000
8853                                                  10987654321098765432109876543210
8854                                                  x10001x11x1xxxxx011xxxxxxxxxxxxx
8855                                                  ldff1d.  */
8856                                               return 1634;
8857                                             }
8858                                         }
8859                                     }
8860                                   else
8861                                     {
8862                                       if (((word >> 21) & 0x1) == 0)
8863                                         {
8864                                           if (((word >> 22) & 0x1) == 0)
8865                                             {
8866                                               if (((word >> 23) & 0x1) == 0)
8867                                                 {
8868                                                   /* 33222222222211111111110000000000
8869                                                      10987654321098765432109876543210
8870                                                      x10001x1000xxxxx111xxxxxxxxxxxxx
8871                                                      prfw.  */
8872                                                   return 1784;
8873                                                 }
8874                                               else
8875                                                 {
8876                                                   /* 33222222222211111111110000000000
8877                                                      10987654321098765432109876543210
8878                                                      x10001x1100xxxxx111xxxxxxxxxxxxx
8879                                                      prfd.  */
8880                                                   return 1770;
8881                                                 }
8882                                             }
8883                                           else
8884                                             {
8885                                               if (((word >> 23) & 0x1) == 0)
8886                                                 {
8887                                                   /* 33222222222211111111110000000000
8888                                                      10987654321098765432109876543210
8889                                                      x10001x1010xxxxx111xxxxxxxxxxxxx
8890                                                      ldff1w.  */
8891                                                   return 1690;
8892                                                 }
8893                                               else
8894                                                 {
8895                                                   /* 33222222222211111111110000000000
8896                                                      10987654321098765432109876543210
8897                                                      x10001x1110xxxxx111xxxxxxxxxxxxx
8898                                                      ldff1d.  */
8899                                                   return 1635;
8900                                                 }
8901                                             }
8902                                         }
8903                                       else
8904                                         {
8905                                           if (((word >> 22) & 0x1) == 0)
8906                                             {
8907                                               if (((word >> 23) & 0x1) == 0)
8908                                                 {
8909                                                   /* 33222222222211111111110000000000
8910                                                      10987654321098765432109876543210
8911                                                      x10001x1001xxxxx111xxxxxxxxxxxxx
8912                                                      ldff1w.  */
8913                                                   return 1693;
8914                                                 }
8915                                               else
8916                                                 {
8917                                                   /* 33222222222211111111110000000000
8918                                                      10987654321098765432109876543210
8919                                                      x10001x1101xxxxx111xxxxxxxxxxxxx
8920                                                      ldff1d.  */
8921                                                   return 1637;
8922                                                 }
8923                                             }
8924                                           else
8925                                             {
8926                                               if (((word >> 23) & 0x1) == 0)
8927                                                 {
8928                                                   /* 33222222222211111111110000000000
8929                                                      10987654321098765432109876543210
8930                                                      x10001x1011xxxxx111xxxxxxxxxxxxx
8931                                                      ldff1w.  */
8932                                                   return 1691;
8933                                                 }
8934                                               else
8935                                                 {
8936                                                   /* 33222222222211111111110000000000
8937                                                      10987654321098765432109876543210
8938                                                      x10001x1111xxxxx111xxxxxxxxxxxxx
8939                                                      ldff1d.  */
8940                                                   return 1636;
8941                                                 }
8942                                             }
8943                                         }
8944                                     }
8945                                 }
8946                             }
8947                         }
8948                     }
8949                   else
8950                     {
8951                       if (((word >> 15) & 0x1) == 0)
8952                         {
8953                           if (((word >> 14) & 0x1) == 0)
8954                             {
8955                               if (((word >> 13) & 0x1) == 0)
8956                                 {
8957                                   if (((word >> 30) & 0x1) == 0)
8958                                     {
8959                                       if (((word >> 21) & 0x1) == 0)
8960                                         {
8961                                           if (((word >> 31) & 0x1) == 0)
8962                                             {
8963                                               if (((word >> 4) & 0x1) == 0)
8964                                                 {
8965                                                   /* 33222222222211111111110000000000
8966                                                      10987654321098765432109876543210
8967                                                      001001x1xx0xxxxx000xxxxxxxx0xxxx
8968                                                      cmpge.  */
8969                                                   return 1316;
8970                                                 }
8971                                               else
8972                                                 {
8973                                                   /* 33222222222211111111110000000000
8974                                                      10987654321098765432109876543210
8975                                                      001001x1xx0xxxxx000xxxxxxxx1xxxx
8976                                                      cmpgt.  */
8977                                                   return 1319;
8978                                                 }
8979                                             }
8980                                           else
8981                                             {
8982                                               if (((word >> 23) & 0x1) == 0)
8983                                                 {
8984                                                   /* 33222222222211111111110000000000
8985                                                      10987654321098765432109876543210
8986                                                      101001x10x0xxxxx000xxxxxxxxxxxxx
8987                                                      ld1rqw.  */
8988                                                   return 1543;
8989                                                 }
8990                                               else
8991                                                 {
8992                                                   /* 33222222222211111111110000000000
8993                                                      10987654321098765432109876543210
8994                                                      101001x11x0xxxxx000xxxxxxxxxxxxx
8995                                                      ld1rqd.  */
8996                                                   return 1539;
8997                                                 }
8998                                             }
8999                                         }
9000                                       else
9001                                         {
9002                                           if (((word >> 4) & 0x1) == 0)
9003                                             {
9004                                               if (((word >> 11) & 0x1) == 0)
9005                                                 {
9006                                                   if (((word >> 12) & 0x1) == 0)
9007                                                     {
9008                                                       /* 33222222222211111111110000000000
9009                                                          10987654321098765432109876543210
9010                                                          x01001x1xx1xxxxx00000xxxxxx0xxxx
9011                                                          whilelt.  */
9012                                                       return 2020;
9013                                                     }
9014                                                   else
9015                                                     {
9016                                                       /* 33222222222211111111110000000000
9017                                                          10987654321098765432109876543210
9018                                                          x01001x1xx1xxxxx00010xxxxxx0xxxx
9019                                                          whilelt.  */
9020                                                       return 2021;
9021                                                     }
9022                                                 }
9023                                               else
9024                                                 {
9025                                                   if (((word >> 12) & 0x1) == 0)
9026                                                     {
9027                                                       /* 33222222222211111111110000000000
9028                                                          10987654321098765432109876543210
9029                                                          x01001x1xx1xxxxx00001xxxxxx0xxxx
9030                                                          whilelo.  */
9031                                                       return 2016;
9032                                                     }
9033                                                   else
9034                                                     {
9035                                                       /* 33222222222211111111110000000000
9036                                                          10987654321098765432109876543210
9037                                                          x01001x1xx1xxxxx00011xxxxxx0xxxx
9038                                                          whilelo.  */
9039                                                       return 2017;
9040                                                     }
9041                                                 }
9042                                             }
9043                                           else
9044                                             {
9045                                               if (((word >> 11) & 0x1) == 0)
9046                                                 {
9047                                                   if (((word >> 12) & 0x1) == 0)
9048                                                     {
9049                                                       /* 33222222222211111111110000000000
9050                                                          10987654321098765432109876543210
9051                                                          x01001x1xx1xxxxx00000xxxxxx1xxxx
9052                                                          whilele.  */
9053                                                       return 2014;
9054                                                     }
9055                                                   else
9056                                                     {
9057                                                       /* 33222222222211111111110000000000
9058                                                          10987654321098765432109876543210
9059                                                          x01001x1xx1xxxxx00010xxxxxx1xxxx
9060                                                          whilele.  */
9061                                                       return 2015;
9062                                                     }
9063                                                 }
9064                                               else
9065                                                 {
9066                                                   if (((word >> 12) & 0x1) == 0)
9067                                                     {
9068                                                       /* 33222222222211111111110000000000
9069                                                          10987654321098765432109876543210
9070                                                          x01001x1xx1xxxxx00001xxxxxx1xxxx
9071                                                          whilels.  */
9072                                                       return 2018;
9073                                                     }
9074                                                   else
9075                                                     {
9076                                                       /* 33222222222211111111110000000000
9077                                                          10987654321098765432109876543210
9078                                                          x01001x1xx1xxxxx00011xxxxxx1xxxx
9079                                                          whilels.  */
9080                                                       return 2019;
9081                                                     }
9082                                                 }
9083                                             }
9084                                         }
9085                                     }
9086                                   else
9087                                     {
9088                                       if (((word >> 31) & 0x1) == 0)
9089                                         {
9090                                           if (((word >> 21) & 0x1) == 0)
9091                                             {
9092                                               if (((word >> 10) & 0x1) == 0)
9093                                                 {
9094                                                   if (((word >> 11) & 0x1) == 0)
9095                                                     {
9096                                                       /* 33222222222211111111110000000000
9097                                                          10987654321098765432109876543210
9098                                                          011001x1xx0xxxxx000x00xxxxxxxxxx
9099                                                          fadd.  */
9100                                                       return 1374;
9101                                                     }
9102                                                   else
9103                                                     {
9104                                                       if (((word >> 12) & 0x1) == 0)
9105                                                         {
9106                                                           /* 33222222222211111111110000000000
9107                                                              10987654321098765432109876543210
9108                                                              011001x1xx0xxxxx000010xxxxxxxxxx
9109                                                              fmul.  */
9110                                                           return 1441;
9111                                                         }
9112                                                       else
9113                                                         {
9114                                                           /* 33222222222211111111110000000000
9115                                                              10987654321098765432109876543210
9116                                                              011001x1xx0xxxxx000110xxxxxxxxxx
9117                                                              frecps.  */
9118                                                           return 1454;
9119                                                         }
9120                                                     }
9121                                                 }
9122                                               else
9123                                                 {
9124                                                   if (((word >> 11) & 0x1) == 0)
9125                                                     {
9126                                                       /* 33222222222211111111110000000000
9127                                                          10987654321098765432109876543210
9128                                                          011001x1xx0xxxxx000x01xxxxxxxxxx
9129                                                          fsub.  */
9130                                                       return 1467;
9131                                                     }
9132                                                   else
9133                                                     {
9134                                                       if (((word >> 12) & 0x1) == 0)
9135                                                         {
9136                                                           /* 33222222222211111111110000000000
9137                                                              10987654321098765432109876543210
9138                                                              011001x1xx0xxxxx000011xxxxxxxxxx
9139                                                              ftsmul.  */
9140                                                           return 1473;
9141                                                         }
9142                                                       else
9143                                                         {
9144                                                           /* 33222222222211111111110000000000
9145                                                              10987654321098765432109876543210
9146                                                              011001x1xx0xxxxx000111xxxxxxxxxx
9147                                                              frsqrts.  */
9148                                                           return 1464;
9149                                                         }
9150                                                     }
9151                                                 }
9152                                             }
9153                                           else
9154                                             {
9155                                               /* 33222222222211111111110000000000
9156                                                  10987654321098765432109876543210
9157                                                  011001x1xx1xxxxx000xxxxxxxxxxxxx
9158                                                  fmla.  */
9159                                               return 1432;
9160                                             }
9161                                         }
9162                                       else
9163                                         {
9164                                           /* 33222222222211111111110000000000
9165                                              10987654321098765432109876543210
9166                                              111001x1xxxxxxxx000xxxxxxxxxxxxx
9167                                              str.  */
9168                                           return 1935;
9169                                         }
9170                                     }
9171                                 }
9172                               else
9173                                 {
9174                                   if (((word >> 21) & 0x1) == 0)
9175                                     {
9176                                       if (((word >> 30) & 0x1) == 0)
9177                                         {
9178                                           if (((word >> 31) & 0x1) == 0)
9179                                             {
9180                                               if (((word >> 4) & 0x1) == 0)
9181                                                 {
9182                                                   /* 33222222222211111111110000000000
9183                                                      10987654321098765432109876543210
9184                                                      001001x1xx0xxxxx001xxxxxxxx0xxxx
9185                                                      cmplt.  */
9186                                                   return 1333;
9187                                                 }
9188                                               else
9189                                                 {
9190                                                   /* 33222222222211111111110000000000
9191                                                      10987654321098765432109876543210
9192                                                      001001x1xx0xxxxx001xxxxxxxx1xxxx
9193                                                      cmple.  */
9194                                                   return 1327;
9195                                                 }
9196                                             }
9197                                           else
9198                                             {
9199                                               if (((word >> 23) & 0x1) == 0)
9200                                                 {
9201                                                   /* 33222222222211111111110000000000
9202                                                      10987654321098765432109876543210
9203                                                      101001x10x0xxxxx001xxxxxxxxxxxxx
9204                                                      ld1rqw.  */
9205                                                   return 1542;
9206                                                 }
9207                                               else
9208                                                 {
9209                                                   /* 33222222222211111111110000000000
9210                                                      10987654321098765432109876543210
9211                                                      101001x11x0xxxxx001xxxxxxxxxxxxx
9212                                                      ld1rqd.  */
9213                                                   return 1538;
9214                                                 }
9215                                             }
9216                                         }
9217                                       else
9218                                         {
9219                                           if (((word >> 16) & 0x1) == 0)
9220                                             {
9221                                               if (((word >> 17) & 0x1) == 0)
9222                                                 {
9223                                                   if (((word >> 18) & 0x1) == 0)
9224                                                     {
9225                                                       if (((word >> 19) & 0x1) == 0)
9226                                                         {
9227                                                           if (((word >> 20) & 0x1) == 0)
9228                                                             {
9229                                                               /* 33222222222211111111110000000000
9230                                                                  10987654321098765432109876543210
9231                                                                  x11001x1xx000000001xxxxxxxxxxxxx
9232                                                                  faddv.  */
9233                                                               return 1378;
9234                                                             }
9235                                                           else
9236                                                             {
9237                                                               if (((word >> 4) & 0x1) == 0)
9238                                                                 {
9239                                                                   /* 33222222222211111111110000000000
9240                                                                      10987654321098765432109876543210
9241                                                                      x11001x1xx010000001xxxxxxxx0xxxx
9242                                                                      fcmge.  */
9243                                                                   return 1385;
9244                                                                 }
9245                                                               else
9246                                                                 {
9247                                                                   /* 33222222222211111111110000000000
9248                                                                      10987654321098765432109876543210
9249                                                                      x11001x1xx010000001xxxxxxxx1xxxx
9250                                                                      fcmgt.  */
9251                                                                   return 1387;
9252                                                                 }
9253                                                             }
9254                                                         }
9255                                                       else
9256                                                         {
9257                                                           /* 33222222222211111111110000000000
9258                                                              10987654321098765432109876543210
9259                                                              x11001x1xx0x1000001xxxxxxxxxxxxx
9260                                                              fadda.  */
9261                                                           return 1377;
9262                                                         }
9263                                                     }
9264                                                   else
9265                                                     {
9266                                                       /* 33222222222211111111110000000000
9267                                                          10987654321098765432109876543210
9268                                                          x11001x1xx0xx100001xxxxxxxxxxxxx
9269                                                          fmaxnmv.  */
9270                                                       return 1424;
9271                                                     }
9272                                                 }
9273                                               else
9274                                                 {
9275                                                   if (((word >> 18) & 0x1) == 0)
9276                                                     {
9277                                                       /* 33222222222211111111110000000000
9278                                                          10987654321098765432109876543210
9279                                                          x11001x1xx0xx010001xxxxxxxxxxxxx
9280                                                          fcmeq.  */
9281                                                       return 1383;
9282                                                     }
9283                                                   else
9284                                                     {
9285                                                       if (((word >> 19) & 0x1) == 0)
9286                                                         {
9287                                                           /* 33222222222211111111110000000000
9288                                                              10987654321098765432109876543210
9289                                                              x11001x1xx0x0110001xxxxxxxxxxxxx
9290                                                              fmaxv.  */
9291                                                           return 1425;
9292                                                         }
9293                                                       else
9294                                                         {
9295                                                           /* 33222222222211111111110000000000
9296                                                              10987654321098765432109876543210
9297                                                              x11001x1xx0x1110001xxxxxxxxxxxxx
9298                                                              frecpe.  */
9299                                                           return 1453;
9300                                                         }
9301                                                     }
9302                                                 }
9303                                             }
9304                                           else
9305                                             {
9306                                               if (((word >> 17) & 0x1) == 0)
9307                                                 {
9308                                                   if (((word >> 18) & 0x1) == 0)
9309                                                     {
9310                                                       if (((word >> 4) & 0x1) == 0)
9311                                                         {
9312                                                           /* 33222222222211111111110000000000
9313                                                              10987654321098765432109876543210
9314                                                              x11001x1xx0xx001001xxxxxxxx0xxxx
9315                                                              fcmlt.  */
9316                                                           return 1390;
9317                                                         }
9318                                                       else
9319                                                         {
9320                                                           /* 33222222222211111111110000000000
9321                                                              10987654321098765432109876543210
9322                                                              x11001x1xx0xx001001xxxxxxxx1xxxx
9323                                                              fcmle.  */
9324                                                           return 1389;
9325                                                         }
9326                                                     }
9327                                                   else
9328                                                     {
9329                                                       /* 33222222222211111111110000000000
9330                                                          10987654321098765432109876543210
9331                                                          x11001x1xx0xx101001xxxxxxxxxxxxx
9332                                                          fminnmv.  */
9333                                                       return 1430;
9334                                                     }
9335                                                 }
9336                                               else
9337                                                 {
9338                                                   if (((word >> 18) & 0x1) == 0)
9339                                                     {
9340                                                       /* 33222222222211111111110000000000
9341                                                          10987654321098765432109876543210
9342                                                          x11001x1xx0xx011001xxxxxxxxxxxxx
9343                                                          fcmne.  */
9344                                                       return 1391;
9345                                                     }
9346                                                   else
9347                                                     {
9348                                                       if (((word >> 19) & 0x1) == 0)
9349                                                         {
9350                                                           /* 33222222222211111111110000000000
9351                                                              10987654321098765432109876543210
9352                                                              x11001x1xx0x0111001xxxxxxxxxxxxx
9353                                                              fminv.  */
9354                                                           return 1431;
9355                                                         }
9356                                                       else
9357                                                         {
9358                                                           /* 33222222222211111111110000000000
9359                                                              10987654321098765432109876543210
9360                                                              x11001x1xx0x1111001xxxxxxxxxxxxx
9361                                                              frsqrte.  */
9362                                                           return 1463;
9363                                                         }
9364                                                     }
9365                                                 }
9366                                             }
9367                                         }
9368                                     }
9369                                   else
9370                                     {
9371                                       if (((word >> 30) & 0x1) == 0)
9372                                         {
9373                                           if (((word >> 4) & 0x1) == 0)
9374                                             {
9375                                               /* 33222222222211111111110000000000
9376                                                  10987654321098765432109876543210
9377                                                  x01001x1xx1xxxxx001xxxxxxxx0xxxx
9378                                                  ctermeq.  */
9379                                               return 1348;
9380                                             }
9381                                           else
9382                                             {
9383                                               /* 33222222222211111111110000000000
9384                                                  10987654321098765432109876543210
9385                                                  x01001x1xx1xxxxx001xxxxxxxx1xxxx
9386                                                  ctermne.  */
9387                                               return 1349;
9388                                             }
9389                                         }
9390                                       else
9391                                         {
9392                                           /* 33222222222211111111110000000000
9393                                              10987654321098765432109876543210
9394                                              x11001x1xx1xxxxx001xxxxxxxxxxxxx
9395                                              fmls.  */
9396                                           return 1436;
9397                                         }
9398                                     }
9399                                 }
9400                             }
9401                           else
9402                             {
9403                               if (((word >> 30) & 0x1) == 0)
9404                                 {
9405                                   if (((word >> 21) & 0x1) == 0)
9406                                     {
9407                                       if (((word >> 22) & 0x1) == 0)
9408                                         {
9409                                           if (((word >> 23) & 0x1) == 0)
9410                                             {
9411                                               if (((word >> 31) & 0x1) == 0)
9412                                                 {
9413                                                   if (((word >> 9) & 0x1) == 0)
9414                                                     {
9415                                                       if (((word >> 20) & 0x1) == 0)
9416                                                         {
9417                                                           if (((word >> 4) & 0x1) == 0)
9418                                                             {
9419                                                               /* 33222222222211111111110000000000
9420                                                                  10987654321098765432109876543210
9421                                                                  001001x10000xxxx01xxxx0xxxx0xxxx
9422                                                                  and.  */
9423                                                               return 1279;
9424                                                             }
9425                                                           else
9426                                                             {
9427                                                               /* 33222222222211111111110000000000
9428                                                                  10987654321098765432109876543210
9429                                                                  001001x10000xxxx01xxxx0xxxx1xxxx
9430                                                                  bic.  */
9431                                                               return 1291;
9432                                                             }
9433                                                         }
9434                                                       else
9435                                                         {
9436                                                           if (((word >> 19) & 0x1) == 0)
9437                                                             {
9438                                                               /* 33222222222211111111110000000000
9439                                                                  10987654321098765432109876543210
9440                                                                  001001x100010xxx01xxxx0xxxxxxxxx
9441                                                                  brka.  */
9442                                                               return 1293;
9443                                                             }
9444                                                           else
9445                                                             {
9446                                                               /* 33222222222211111111110000000000
9447                                                                  10987654321098765432109876543210
9448                                                                  001001x100011xxx01xxxx0xxxxxxxxx
9449                                                                  brkn.  */
9450                                                               return 1297;
9451                                                             }
9452                                                         }
9453                                                     }
9454                                                   else
9455                                                     {
9456                                                       if (((word >> 4) & 0x1) == 0)
9457                                                         {
9458                                                           /* 33222222222211111111110000000000
9459                                                              10987654321098765432109876543210
9460                                                              001001x1000xxxxx01xxxx1xxxx0xxxx
9461                                                              eor.  */
9462                                                           return 1366;
9463                                                         }
9464                                                       else
9465                                                         {
9466                                                           /* 33222222222211111111110000000000
9467                                                              10987654321098765432109876543210
9468                                                              001001x1000xxxxx01xxxx1xxxx1xxxx
9469                                                              sel.  */
9470                                                           return 1815;
9471                                                         }
9472                                                     }
9473                                                 }
9474                                               else
9475                                                 {
9476                                                   if (((word >> 13) & 0x1) == 0)
9477                                                     {
9478                                                       /* 33222222222211111111110000000000
9479                                                          10987654321098765432109876543210
9480                                                          101001x1000xxxxx010xxxxxxxxxxxxx
9481                                                          ld1sh.  */
9482                                                       return 1565;
9483                                                     }
9484                                                   else
9485                                                     {
9486                                                       /* 33222222222211111111110000000000
9487                                                          10987654321098765432109876543210
9488                                                          101001x1000xxxxx011xxxxxxxxxxxxx
9489                                                          ldff1sh.  */
9490                                                       return 1665;
9491                                                     }
9492                                                 }
9493                                             }
9494                                           else
9495                                             {
9496                                               if (((word >> 31) & 0x1) == 0)
9497                                                 {
9498                                                   if (((word >> 9) & 0x1) == 0)
9499                                                     {
9500                                                       if (((word >> 20) & 0x1) == 0)
9501                                                         {
9502                                                           if (((word >> 4) & 0x1) == 0)
9503                                                             {
9504                                                               /* 33222222222211111111110000000000
9505                                                                  10987654321098765432109876543210
9506                                                                  001001x11000xxxx01xxxx0xxxx0xxxx
9507                                                                  orr.  */
9508                                                               return 1751;
9509                                                             }
9510                                                           else
9511                                                             {
9512                                                               /* 33222222222211111111110000000000
9513                                                                  10987654321098765432109876543210
9514                                                                  001001x11000xxxx01xxxx0xxxx1xxxx
9515                                                                  orn.  */
9516                                                               return 1746;
9517                                                             }
9518                                                         }
9519                                                       else
9520                                                         {
9521                                                           /* 33222222222211111111110000000000
9522                                                              10987654321098765432109876543210
9523                                                              001001x11001xxxx01xxxx0xxxxxxxxx
9524                                                              brkb.  */
9525                                                           return 1295;
9526                                                         }
9527                                                     }
9528                                                   else
9529                                                     {
9530                                                       if (((word >> 4) & 0x1) == 0)
9531                                                         {
9532                                                           /* 33222222222211111111110000000000
9533                                                              10987654321098765432109876543210
9534                                                              001001x1100xxxxx01xxxx1xxxx0xxxx
9535                                                              nor.  */
9536                                                           return 1743;
9537                                                         }
9538                                                       else
9539                                                         {
9540                                                           /* 33222222222211111111110000000000
9541                                                              10987654321098765432109876543210
9542                                                              001001x1100xxxxx01xxxx1xxxx1xxxx
9543                                                              nand.  */
9544                                                           return 1740;
9545                                                         }
9546                                                     }
9547                                                 }
9548                                               else
9549                                                 {
9550                                                   if (((word >> 13) & 0x1) == 0)
9551                                                     {
9552                                                       /* 33222222222211111111110000000000
9553                                                          10987654321098765432109876543210
9554                                                          101001x1100xxxxx010xxxxxxxxxxxxx
9555                                                          ld1sb.  */
9556                                                       return 1553;
9557                                                     }
9558                                                   else
9559                                                     {
9560                                                       /* 33222222222211111111110000000000
9561                                                          10987654321098765432109876543210
9562                                                          101001x1100xxxxx011xxxxxxxxxxxxx
9563                                                          ldff1sb.  */
9564                                                       return 1653;
9565                                                     }
9566                                                 }
9567                                             }
9568                                         }
9569                                       else
9570                                         {
9571                                           if (((word >> 23) & 0x1) == 0)
9572                                             {
9573                                               if (((word >> 31) & 0x1) == 0)
9574                                                 {
9575                                                   if (((word >> 4) & 0x1) == 0)
9576                                                     {
9577                                                       if (((word >> 9) & 0x1) == 0)
9578                                                         {
9579                                                           if (((word >> 20) & 0x1) == 0)
9580                                                             {
9581                                                               /* 33222222222211111111110000000000
9582                                                                  10987654321098765432109876543210
9583                                                                  001001x10100xxxx01xxxx0xxxx0xxxx
9584                                                                  ands.  */
9585                                                               return 1280;
9586                                                             }
9587                                                           else
9588                                                             {
9589                                                               if (((word >> 19) & 0x1) == 0)
9590                                                                 {
9591                                                                   /* 33222222222211111111110000000000
9592                                                                      10987654321098765432109876543210
9593                                                                      001001x101010xxx01xxxx0xxxx0xxxx
9594                                                                      brkas.  */
9595                                                                   return 1294;
9596                                                                 }
9597                                                               else
9598                                                                 {
9599                                                                   /* 33222222222211111111110000000000
9600                                                                      10987654321098765432109876543210
9601                                                                      001001x101011xxx01xxxx0xxxx0xxxx
9602                                                                      brkns.  */
9603                                                                   return 1298;
9604                                                                 }
9605                                                             }
9606                                                         }
9607                                                       else
9608                                                         {
9609                                                           /* 33222222222211111111110000000000
9610                                                              10987654321098765432109876543210
9611                                                              001001x1010xxxxx01xxxx1xxxx0xxxx
9612                                                              eors.  */
9613                                                           return 1367;
9614                                                         }
9615                                                     }
9616                                                   else
9617                                                     {
9618                                                       /* 33222222222211111111110000000000
9619                                                          10987654321098765432109876543210
9620                                                          001001x1010xxxxx01xxxxxxxxx1xxxx
9621                                                          bics.  */
9622                                                       return 1292;
9623                                                     }
9624                                                 }
9625                                               else
9626                                                 {
9627                                                   if (((word >> 13) & 0x1) == 0)
9628                                                     {
9629                                                       /* 33222222222211111111110000000000
9630                                                          10987654321098765432109876543210
9631                                                          101001x1010xxxxx010xxxxxxxxxxxxx
9632                                                          ld1w.  */
9633                                                       return 1584;
9634                                                     }
9635                                                   else
9636                                                     {
9637                                                       /* 33222222222211111111110000000000
9638                                                          10987654321098765432109876543210
9639                                                          101001x1010xxxxx011xxxxxxxxxxxxx
9640                                                          ldff1w.  */
9641                                                       return 1684;
9642                                                     }
9643                                                 }
9644                                             }
9645                                           else
9646                                             {
9647                                               if (((word >> 31) & 0x1) == 0)
9648                                                 {
9649                                                   if (((word >> 4) & 0x1) == 0)
9650                                                     {
9651                                                       if (((word >> 9) & 0x1) == 0)
9652                                                         {
9653                                                           if (((word >> 20) & 0x1) == 0)
9654                                                             {
9655                                                               /* 33222222222211111111110000000000
9656                                                                  10987654321098765432109876543210
9657                                                                  001001x11100xxxx01xxxx0xxxx0xxxx
9658                                                                  orrs.  */
9659                                                               return 1752;
9660                                                             }
9661                                                           else
9662                                                             {
9663                                                               /* 33222222222211111111110000000000
9664                                                                  10987654321098765432109876543210
9665                                                                  001001x11101xxxx01xxxx0xxxx0xxxx
9666                                                                  brkbs.  */
9667                                                               return 1296;
9668                                                             }
9669                                                         }
9670                                                       else
9671                                                         {
9672                                                           /* 33222222222211111111110000000000
9673                                                              10987654321098765432109876543210
9674                                                              001001x1110xxxxx01xxxx1xxxx0xxxx
9675                                                              nors.  */
9676                                                           return 1744;
9677                                                         }
9678                                                     }
9679                                                   else
9680                                                     {
9681                                                       if (((word >> 9) & 0x1) == 0)
9682                                                         {
9683                                                           /* 33222222222211111111110000000000
9684                                                              10987654321098765432109876543210
9685                                                              001001x1110xxxxx01xxxx0xxxx1xxxx
9686                                                              orns.  */
9687                                                           return 1747;
9688                                                         }
9689                                                       else
9690                                                         {
9691                                                           /* 33222222222211111111110000000000
9692                                                              10987654321098765432109876543210
9693                                                              001001x1110xxxxx01xxxx1xxxx1xxxx
9694                                                              nands.  */
9695                                                           return 1741;
9696                                                         }
9697                                                     }
9698                                                 }
9699                                               else
9700                                                 {
9701                                                   if (((word >> 13) & 0x1) == 0)
9702                                                     {
9703                                                       /* 33222222222211111111110000000000
9704                                                          10987654321098765432109876543210
9705                                                          101001x1110xxxxx010xxxxxxxxxxxxx
9706                                                          ld1sb.  */
9707                                                       return 1555;
9708                                                     }
9709                                                   else
9710                                                     {
9711                                                       /* 33222222222211111111110000000000
9712                                                          10987654321098765432109876543210
9713                                                          101001x1110xxxxx011xxxxxxxxxxxxx
9714                                                          ldff1sb.  */
9715                                                       return 1657;
9716                                                     }
9717                                                 }
9718                                             }
9719                                         }
9720                                     }
9721                                   else
9722                                     {
9723                                       if (((word >> 13) & 0x1) == 0)
9724                                         {
9725                                           if (((word >> 22) & 0x1) == 0)
9726                                             {
9727                                               if (((word >> 23) & 0x1) == 0)
9728                                                 {
9729                                                   /* 33222222222211111111110000000000
9730                                                      10987654321098765432109876543210
9731                                                      x01001x1001xxxxx010xxxxxxxxxxxxx
9732                                                      ld1sh.  */
9733                                                   return 1566;
9734                                                 }
9735                                               else
9736                                                 {
9737                                                   /* 33222222222211111111110000000000
9738                                                      10987654321098765432109876543210
9739                                                      x01001x1101xxxxx010xxxxxxxxxxxxx
9740                                                      ld1sb.  */
9741                                                   return 1554;
9742                                                 }
9743                                             }
9744                                           else
9745                                             {
9746                                               if (((word >> 23) & 0x1) == 0)
9747                                                 {
9748                                                   /* 33222222222211111111110000000000
9749                                                      10987654321098765432109876543210
9750                                                      x01001x1011xxxxx010xxxxxxxxxxxxx
9751                                                      ld1w.  */
9752                                                   return 1585;
9753                                                 }
9754                                               else
9755                                                 {
9756                                                   /* 33222222222211111111110000000000
9757                                                      10987654321098765432109876543210
9758                                                      x01001x1111xxxxx010xxxxxxxxxxxxx
9759                                                      ld1d.  */
9760                                                   return 1507;
9761                                                 }
9762                                             }
9763                                         }
9764                                       else
9765                                         {
9766                                           if (((word >> 22) & 0x1) == 0)
9767                                             {
9768                                               if (((word >> 23) & 0x1) == 0)
9769                                                 {
9770                                                   /* 33222222222211111111110000000000
9771                                                      10987654321098765432109876543210
9772                                                      x01001x1001xxxxx011xxxxxxxxxxxxx
9773                                                      ldff1sh.  */
9774                                                   return 1667;
9775                                                 }
9776                                               else
9777                                                 {
9778                                                   /* 33222222222211111111110000000000
9779                                                      10987654321098765432109876543210
9780                                                      x01001x1101xxxxx011xxxxxxxxxxxxx
9781                                                      ldff1sb.  */
9782                                                   return 1655;
9783                                                 }
9784                                             }
9785                                           else
9786                                             {
9787                                               if (((word >> 23) & 0x1) == 0)
9788                                                 {
9789                                                   /* 33222222222211111111110000000000
9790                                                      10987654321098765432109876543210
9791                                                      x01001x1011xxxxx011xxxxxxxxxxxxx
9792                                                      ldff1w.  */
9793                                                   return 1686;
9794                                                 }
9795                                               else
9796                                                 {
9797                                                   /* 33222222222211111111110000000000
9798                                                      10987654321098765432109876543210
9799                                                      x01001x1111xxxxx011xxxxxxxxxxxxx
9800                                                      ldff1d.  */
9801                                                   return 1631;
9802                                                 }
9803                                             }
9804                                         }
9805                                     }
9806                                 }
9807                               else
9808                                 {
9809                                   if (((word >> 13) & 0x1) == 0)
9810                                     {
9811                                       if (((word >> 31) & 0x1) == 0)
9812                                         {
9813                                           if (((word >> 21) & 0x1) == 0)
9814                                             {
9815                                               if (((word >> 4) & 0x1) == 0)
9816                                                 {
9817                                                   /* 33222222222211111111110000000000
9818                                                      10987654321098765432109876543210
9819                                                      011001x1xx0xxxxx010xxxxxxxx0xxxx
9820                                                      fcmge.  */
9821                                                   return 1386;
9822                                                 }
9823                                               else
9824                                                 {
9825                                                   /* 33222222222211111111110000000000
9826                                                      10987654321098765432109876543210
9827                                                      011001x1xx0xxxxx010xxxxxxxx1xxxx
9828                                                      fcmgt.  */
9829                                                   return 1388;
9830                                                 }
9831                                             }
9832                                           else
9833                                             {
9834                                               /* 33222222222211111111110000000000
9835                                                  10987654321098765432109876543210
9836                                                  011001x1xx1xxxxx010xxxxxxxxxxxxx
9837                                                  fnmla.  */
9838                                               return 1450;
9839                                             }
9840                                         }
9841                                       else
9842                                         {
9843                                           if (((word >> 22) & 0x1) == 0)
9844                                             {
9845                                               /* 33222222222211111111110000000000
9846                                                  10987654321098765432109876543210
9847                                                  111001x1x0xxxxxx010xxxxxxxxxxxxx
9848                                                  str.  */
9849                                               return 1936;
9850                                             }
9851                                           else
9852                                             {
9853                                               if (((word >> 21) & 0x1) == 0)
9854                                                 {
9855                                                   /* 33222222222211111111110000000000
9856                                                      10987654321098765432109876543210
9857                                                      111001x1x10xxxxx010xxxxxxxxxxxxx
9858                                                      st1w.  */
9859                                                   return 1895;
9860                                                 }
9861                                               else
9862                                                 {
9863                                                   if (((word >> 23) & 0x1) == 0)
9864                                                     {
9865                                                       /* 33222222222211111111110000000000
9866                                                          10987654321098765432109876543210
9867                                                          111001x1011xxxxx010xxxxxxxxxxxxx
9868                                                          st1w.  */
9869                                                       return 1897;
9870                                                     }
9871                                                   else
9872                                                     {
9873                                                       /* 33222222222211111111110000000000
9874                                                          10987654321098765432109876543210
9875                                                          111001x1111xxxxx010xxxxxxxxxxxxx
9876                                                          st1d.  */
9877                                                       return 1874;
9878                                                     }
9879                                                 }
9880                                             }
9881                                         }
9882                                     }
9883                                   else
9884                                     {
9885                                       if (((word >> 21) & 0x1) == 0)
9886                                         {
9887                                           if (((word >> 31) & 0x1) == 0)
9888                                             {
9889                                               if (((word >> 4) & 0x1) == 0)
9890                                                 {
9891                                                   /* 33222222222211111111110000000000
9892                                                      10987654321098765432109876543210
9893                                                      011001x1xx0xxxxx011xxxxxxxx0xxxx
9894                                                      fcmeq.  */
9895                                                   return 1384;
9896                                                 }
9897                                               else
9898                                                 {
9899                                                   /* 33222222222211111111110000000000
9900                                                      10987654321098765432109876543210
9901                                                      011001x1xx0xxxxx011xxxxxxxx1xxxx
9902                                                      fcmne.  */
9903                                                   return 1392;
9904                                                 }
9905                                             }
9906                                           else
9907                                             {
9908                                               if (((word >> 22) & 0x1) == 0)
9909                                                 {
9910                                                   if (((word >> 23) & 0x1) == 0)
9911                                                     {
9912                                                       /* 33222222222211111111110000000000
9913                                                          10987654321098765432109876543210
9914                                                          111001x1000xxxxx011xxxxxxxxxxxxx
9915                                                          stnt1w.  */
9916                                                       return 1933;
9917                                                     }
9918                                                   else
9919                                                     {
9920                                                       /* 33222222222211111111110000000000
9921                                                          10987654321098765432109876543210
9922                                                          111001x1100xxxxx011xxxxxxxxxxxxx
9923                                                          stnt1d.  */
9924                                                       return 1929;
9925                                                     }
9926                                                 }
9927                                               else
9928                                                 {
9929                                                   if (((word >> 23) & 0x1) == 0)
9930                                                     {
9931                                                       /* 33222222222211111111110000000000
9932                                                          10987654321098765432109876543210
9933                                                          111001x1010xxxxx011xxxxxxxxxxxxx
9934                                                          st3w.  */
9935                                                       return 1917;
9936                                                     }
9937                                                   else
9938                                                     {
9939                                                       /* 33222222222211111111110000000000
9940                                                          10987654321098765432109876543210
9941                                                          111001x1110xxxxx011xxxxxxxxxxxxx
9942                                                          st3d.  */
9943                                                       return 1913;
9944                                                     }
9945                                                 }
9946                                             }
9947                                         }
9948                                       else
9949                                         {
9950                                           if (((word >> 31) & 0x1) == 0)
9951                                             {
9952                                               /* 33222222222211111111110000000000
9953                                                  10987654321098765432109876543210
9954                                                  011001x1xx1xxxxx011xxxxxxxxxxxxx
9955                                                  fnmls.  */
9956                                               return 1451;
9957                                             }
9958                                           else
9959                                             {
9960                                               if (((word >> 22) & 0x1) == 0)
9961                                                 {
9962                                                   if (((word >> 23) & 0x1) == 0)
9963                                                     {
9964                                                       /* 33222222222211111111110000000000
9965                                                          10987654321098765432109876543210
9966                                                          111001x1001xxxxx011xxxxxxxxxxxxx
9967                                                          st2w.  */
9968                                                       return 1909;
9969                                                     }
9970                                                   else
9971                                                     {
9972                                                       /* 33222222222211111111110000000000
9973                                                          10987654321098765432109876543210
9974                                                          111001x1101xxxxx011xxxxxxxxxxxxx
9975                                                          st2d.  */
9976                                                       return 1905;
9977                                                     }
9978                                                 }
9979                                               else
9980                                                 {
9981                                                   if (((word >> 23) & 0x1) == 0)
9982                                                     {
9983                                                       /* 33222222222211111111110000000000
9984                                                          10987654321098765432109876543210
9985                                                          111001x1011xxxxx011xxxxxxxxxxxxx
9986                                                          st4w.  */
9987                                                       return 1925;
9988                                                     }
9989                                                   else
9990                                                     {
9991                                                       /* 33222222222211111111110000000000
9992                                                          10987654321098765432109876543210
9993                                                          111001x1111xxxxx011xxxxxxxxxxxxx
9994                                                          st4d.  */
9995                                                       return 1921;
9996                                                     }
9997                                                 }
9998                                             }
9999                                         }
10000                                     }
10001                                 }
10002                             }
10003                         }
10004                       else
10005                         {
10006                           if (((word >> 21) & 0x1) == 0)
10007                             {
10008                               if (((word >> 30) & 0x1) == 0)
10009                                 {
10010                                   if (((word >> 14) & 0x1) == 0)
10011                                     {
10012                                       if (((word >> 13) & 0x1) == 0)
10013                                         {
10014                                           if (((word >> 4) & 0x1) == 0)
10015                                             {
10016                                               /* 33222222222211111111110000000000
10017                                                  10987654321098765432109876543210
10018                                                  x01001x1xx0xxxxx100xxxxxxxx0xxxx
10019                                                  cmpeq.  */
10020                                               return 1313;
10021                                             }
10022                                           else
10023                                             {
10024                                               /* 33222222222211111111110000000000
10025                                                  10987654321098765432109876543210
10026                                                  x01001x1xx0xxxxx100xxxxxxxx1xxxx
10027                                                  cmpne.  */
10028                                               return 1336;
10029                                             }
10030                                         }
10031                                       else
10032                                         {
10033                                           if (((word >> 20) & 0x1) == 0)
10034                                             {
10035                                               if (((word >> 22) & 0x1) == 0)
10036                                                 {
10037                                                   if (((word >> 23) & 0x1) == 0)
10038                                                     {
10039                                                       /* 33222222222211111111110000000000
10040                                                          10987654321098765432109876543210
10041                                                          x01001x10000xxxx101xxxxxxxxxxxxx
10042                                                          ld1sh.  */
10043                                                       return 1572;
10044                                                     }
10045                                                   else
10046                                                     {
10047                                                       /* 33222222222211111111110000000000
10048                                                          10987654321098765432109876543210
10049                                                          x01001x11000xxxx101xxxxxxxxxxxxx
10050                                                          ld1sb.  */
10051                                                       return 1559;
10052                                                     }
10053                                                 }
10054                                               else
10055                                                 {
10056                                                   if (((word >> 23) & 0x1) == 0)
10057                                                     {
10058                                                       /* 33222222222211111111110000000000
10059                                                          10987654321098765432109876543210
10060                                                          x01001x10100xxxx101xxxxxxxxxxxxx
10061                                                          ld1w.  */
10062                                                       return 1591;
10063                                                     }
10064                                                   else
10065                                                     {
10066                                                       /* 33222222222211111111110000000000
10067                                                          10987654321098765432109876543210
10068                                                          x01001x11100xxxx101xxxxxxxxxxxxx
10069                                                          ld1sb.  */
10070                                                       return 1561;
10071                                                     }
10072                                                 }
10073                                             }
10074                                           else
10075                                             {
10076                                               if (((word >> 22) & 0x1) == 0)
10077                                                 {
10078                                                   if (((word >> 23) & 0x1) == 0)
10079                                                     {
10080                                                       /* 33222222222211111111110000000000
10081                                                          10987654321098765432109876543210
10082                                                          x01001x10001xxxx101xxxxxxxxxxxxx
10083                                                          ldnf1sh.  */
10084                                                       return 1705;
10085                                                     }
10086                                                   else
10087                                                     {
10088                                                       /* 33222222222211111111110000000000
10089                                                          10987654321098765432109876543210
10090                                                          x01001x11001xxxx101xxxxxxxxxxxxx
10091                                                          ldnf1sb.  */
10092                                                       return 1702;
10093                                                     }
10094                                                 }
10095                                               else
10096                                                 {
10097                                                   if (((word >> 23) & 0x1) == 0)
10098                                                     {
10099                                                       /* 33222222222211111111110000000000
10100                                                          10987654321098765432109876543210
10101                                                          x01001x10101xxxx101xxxxxxxxxxxxx
10102                                                          ldnf1w.  */
10103                                                       return 1708;
10104                                                     }
10105                                                   else
10106                                                     {
10107                                                       /* 33222222222211111111110000000000
10108                                                          10987654321098765432109876543210
10109                                                          x01001x11101xxxx101xxxxxxxxxxxxx
10110                                                          ldnf1sb.  */
10111                                                       return 1704;
10112                                                     }
10113                                                 }
10114                                             }
10115                                         }
10116                                     }
10117                                   else
10118                                     {
10119                                       if (((word >> 31) & 0x1) == 0)
10120                                         {
10121                                           if (((word >> 4) & 0x1) == 0)
10122                                             {
10123                                               if (((word >> 20) & 0x1) == 0)
10124                                                 {
10125                                                   if (((word >> 22) & 0x1) == 0)
10126                                                     {
10127                                                       /* 33222222222211111111110000000000
10128                                                          10987654321098765432109876543210
10129                                                          001001x1x000xxxx11xxxxxxxxx0xxxx
10130                                                          brkpa.  */
10131                                                       return 1299;
10132                                                     }
10133                                                   else
10134                                                     {
10135                                                       /* 33222222222211111111110000000000
10136                                                          10987654321098765432109876543210
10137                                                          001001x1x100xxxx11xxxxxxxxx0xxxx
10138                                                          brkpas.  */
10139                                                       return 1300;
10140                                                     }
10141                                                 }
10142                                               else
10143                                                 {
10144                                                   if (((word >> 16) & 0x1) == 0)
10145                                                     {
10146                                                       if (((word >> 19) & 0x1) == 0)
10147                                                         {
10148                                                           /* 33222222222211111111110000000000
10149                                                              10987654321098765432109876543210
10150                                                              001001x1xx010xx011xxxxxxxxx0xxxx
10151                                                              ptest.  */
10152                                                           return 1785;
10153                                                         }
10154                                                       else
10155                                                         {
10156                                                           if (((word >> 10) & 0x1) == 0)
10157                                                             {
10158                                                               if (((word >> 12) & 0x1) == 0)
10159                                                                 {
10160                                                                   if (((word >> 13) & 0x1) == 0)
10161                                                                     {
10162                                                                       /* 33222222222211111111110000000000
10163                                                                          10987654321098765432109876543210
10164                                                                          001001x1xx011xx01100x0xxxxx0xxxx
10165                                                                          pfirst.  */
10166                                                                       return 1755;
10167                                                                     }
10168                                                                   else
10169                                                                     {
10170                                                                       /* 33222222222211111111110000000000
10171                                                                          10987654321098765432109876543210
10172                                                                          001001x1xx011xx01110x0xxxxx0xxxx
10173                                                                          ptrue.  */
10174                                                                       return 1786;
10175                                                                     }
10176                                                                 }
10177                                                               else
10178                                                                 {
10179                                                                   if (((word >> 22) & 0x1) == 0)
10180                                                                     {
10181                                                                       /* 33222222222211111111110000000000
10182                                                                          10987654321098765432109876543210
10183                                                                          001001x1x0011xx011x1x0xxxxx0xxxx
10184                                                                          rdffr.  */
10185                                                                       return 1792;
10186                                                                     }
10187                                                                   else
10188                                                                     {
10189                                                                       /* 33222222222211111111110000000000
10190                                                                          10987654321098765432109876543210
10191                                                                          001001x1x1011xx011x1x0xxxxx0xxxx
10192                                                                          rdffrs.  */
10193                                                                       return 1793;
10194                                                                     }
10195                                                                 }
10196                                                             }
10197                                                           else
10198                                                             {
10199                                                               /* 33222222222211111111110000000000
10200                                                                  10987654321098765432109876543210
10201                                                                  001001x1xx011xx011xxx1xxxxx0xxxx
10202                                                                  pfalse.  */
10203                                                               return 1754;
10204                                                             }
10205                                                         }
10206                                                     }
10207                                                   else
10208                                                     {
10209                                                       if (((word >> 10) & 0x1) == 0)
10210                                                         {
10211                                                           if (((word >> 12) & 0x1) == 0)
10212                                                             {
10213                                                               /* 33222222222211111111110000000000
10214                                                                  10987654321098765432109876543210
10215                                                                  001001x1xx01xxx111x0x0xxxxx0xxxx
10216                                                                  ptrues.  */
10217                                                               return 1787;
10218                                                             }
10219                                                           else
10220                                                             {
10221                                                               /* 33222222222211111111110000000000
10222                                                                  10987654321098765432109876543210
10223                                                                  001001x1xx01xxx111x1x0xxxxx0xxxx
10224                                                                  rdffr.  */
10225                                                               return 1791;
10226                                                             }
10227                                                         }
10228                                                       else
10229                                                         {
10230                                                           /* 33222222222211111111110000000000
10231                                                              10987654321098765432109876543210
10232                                                              001001x1xx01xxx111xxx1xxxxx0xxxx
10233                                                              pnext.  */
10234                                                           return 1756;
10235                                                         }
10236                                                     }
10237                                                 }
10238                                             }
10239                                           else
10240                                             {
10241                                               if (((word >> 22) & 0x1) == 0)
10242                                                 {
10243                                                   /* 33222222222211111111110000000000
10244                                                      10987654321098765432109876543210
10245                                                      001001x1x00xxxxx11xxxxxxxxx1xxxx
10246                                                      brkpb.  */
10247                                                   return 1301;
10248                                                 }
10249                                               else
10250                                                 {
10251                                                   /* 33222222222211111111110000000000
10252                                                      10987654321098765432109876543210
10253                                                      001001x1x10xxxxx11xxxxxxxxx1xxxx
10254                                                      brkpbs.  */
10255                                                   return 1302;
10256                                                 }
10257                                             }
10258                                         }
10259                                       else
10260                                         {
10261                                           if (((word >> 13) & 0x1) == 0)
10262                                             {
10263                                               if (((word >> 22) & 0x1) == 0)
10264                                                 {
10265                                                   if (((word >> 23) & 0x1) == 0)
10266                                                     {
10267                                                       /* 33222222222211111111110000000000
10268                                                          10987654321098765432109876543210
10269                                                          101001x1000xxxxx110xxxxxxxxxxxxx
10270                                                          ldnt1w.  */
10271                                                       return 1716;
10272                                                     }
10273                                                   else
10274                                                     {
10275                                                       /* 33222222222211111111110000000000
10276                                                          10987654321098765432109876543210
10277                                                          101001x1100xxxxx110xxxxxxxxxxxxx
10278                                                          ldnt1d.  */
10279                                                       return 1712;
10280                                                     }
10281                                                 }
10282                                               else
10283                                                 {
10284                                                   if (((word >> 23) & 0x1) == 0)
10285                                                     {
10286                                                       /* 33222222222211111111110000000000
10287                                                          10987654321098765432109876543210
10288                                                          101001x1010xxxxx110xxxxxxxxxxxxx
10289                                                          ld3w.  */
10290                                                       return 1608;
10291                                                     }
10292                                                   else
10293                                                     {
10294                                                       /* 33222222222211111111110000000000
10295                                                          10987654321098765432109876543210
10296                                                          101001x1110xxxxx110xxxxxxxxxxxxx
10297                                                          ld3d.  */
10298                                                       return 1604;
10299                                                     }
10300                                                 }
10301                                             }
10302                                           else
10303                                             {
10304                                               if (((word >> 22) & 0x1) == 0)
10305                                                 {
10306                                                   if (((word >> 23) & 0x1) == 0)
10307                                                     {
10308                                                       /* 33222222222211111111110000000000
10309                                                          10987654321098765432109876543210
10310                                                          101001x1000xxxxx111xxxxxxxxxxxxx
10311                                                          ldnt1w.  */
10312                                                       return 1717;
10313                                                     }
10314                                                   else
10315                                                     {
10316                                                       /* 33222222222211111111110000000000
10317                                                          10987654321098765432109876543210
10318                                                          101001x1100xxxxx111xxxxxxxxxxxxx
10319                                                          ldnt1d.  */
10320                                                       return 1713;
10321                                                     }
10322                                                 }
10323                                               else
10324                                                 {
10325                                                   if (((word >> 23) & 0x1) == 0)
10326                                                     {
10327                                                       /* 33222222222211111111110000000000
10328                                                          10987654321098765432109876543210
10329                                                          101001x1010xxxxx111xxxxxxxxxxxxx
10330                                                          ld3w.  */
10331                                                       return 1609;
10332                                                     }
10333                                                   else
10334                                                     {
10335                                                       /* 33222222222211111111110000000000
10336                                                          10987654321098765432109876543210
10337                                                          101001x1110xxxxx111xxxxxxxxxxxxx
10338                                                          ld3d.  */
10339                                                       return 1605;
10340                                                     }
10341                                                 }
10342                                             }
10343                                         }
10344                                     }
10345                                 }
10346                               else
10347                                 {
10348                                   if (((word >> 13) & 0x1) == 0)
10349                                     {
10350                                       if (((word >> 31) & 0x1) == 0)
10351                                         {
10352                                           if (((word >> 14) & 0x1) == 0)
10353                                             {
10354                                               if (((word >> 19) & 0x1) == 0)
10355                                                 {
10356                                                   if (((word >> 20) & 0x1) == 0)
10357                                                     {
10358                                                       if (((word >> 16) & 0x1) == 0)
10359                                                         {
10360                                                           if (((word >> 17) & 0x1) == 0)
10361                                                             {
10362                                                               if (((word >> 18) & 0x1) == 0)
10363                                                                 {
10364                                                                   /* 33222222222211111111110000000000
10365                                                                      10987654321098765432109876543210
10366                                                                      011001x1xx000000100xxxxxxxxxxxxx
10367                                                                      fadd.  */
10368                                                                   return 1375;
10369                                                                 }
10370                                                               else
10371                                                                 {
10372                                                                   /* 33222222222211111111110000000000
10373                                                                      10987654321098765432109876543210
10374                                                                      011001x1xx000100100xxxxxxxxxxxxx
10375                                                                      fmaxnm.  */
10376                                                                   return 1422;
10377                                                                 }
10378                                                             }
10379                                                           else
10380                                                             {
10381                                                               if (((word >> 18) & 0x1) == 0)
10382                                                                 {
10383                                                                   /* 33222222222211111111110000000000
10384                                                                      10987654321098765432109876543210
10385                                                                      011001x1xx000010100xxxxxxxxxxxxx
10386                                                                      fmul.  */
10387                                                                   return 1442;
10388                                                                 }
10389                                                               else
10390                                                                 {
10391                                                                   /* 33222222222211111111110000000000
10392                                                                      10987654321098765432109876543210
10393                                                                      011001x1xx000110100xxxxxxxxxxxxx
10394                                                                      fmax.  */
10395                                                                   return 1420;
10396                                                                 }
10397                                                             }
10398                                                         }
10399                                                       else
10400                                                         {
10401                                                           if (((word >> 17) & 0x1) == 0)
10402                                                             {
10403                                                               if (((word >> 18) & 0x1) == 0)
10404                                                                 {
10405                                                                   /* 33222222222211111111110000000000
10406                                                                      10987654321098765432109876543210
10407                                                                      011001x1xx000001100xxxxxxxxxxxxx
10408                                                                      fsub.  */
10409                                                                   return 1468;
10410                                                                 }
10411                                                               else
10412                                                                 {
10413                                                                   /* 33222222222211111111110000000000
10414                                                                      10987654321098765432109876543210
10415                                                                      011001x1xx000101100xxxxxxxxxxxxx
10416                                                                      fminnm.  */
10417                                                                   return 1428;
10418                                                                 }
10419                                                             }
10420                                                           else
10421                                                             {
10422                                                               if (((word >> 18) & 0x1) == 0)
10423                                                                 {
10424                                                                   /* 33222222222211111111110000000000
10425                                                                      10987654321098765432109876543210
10426                                                                      011001x1xx000011100xxxxxxxxxxxxx
10427                                                                      fsubr.  */
10428                                                                   return 1470;
10429                                                                 }
10430                                                               else
10431                                                                 {
10432                                                                   /* 33222222222211111111110000000000
10433                                                                      10987654321098765432109876543210
10434                                                                      011001x1xx000111100xxxxxxxxxxxxx
10435                                                                      fmin.  */
10436                                                                   return 1426;
10437                                                                 }
10438                                                             }
10439                                                         }
10440                                                     }
10441                                                   else
10442                                                     {
10443                                                       /* 33222222222211111111110000000000
10444                                                          10987654321098765432109876543210
10445                                                          011001x1xx010xxx100xxxxxxxxxxxxx
10446                                                          ftmad.  */
10447                                                       return 1472;
10448                                                     }
10449                                                 }
10450                                               else
10451                                                 {
10452                                                   if (((word >> 16) & 0x1) == 0)
10453                                                     {
10454                                                       if (((word >> 17) & 0x1) == 0)
10455                                                         {
10456                                                           if (((word >> 18) & 0x1) == 0)
10457                                                             {
10458                                                               if (((word >> 20) & 0x1) == 0)
10459                                                                 {
10460                                                                   /* 33222222222211111111110000000000
10461                                                                      10987654321098765432109876543210
10462                                                                      011001x1xx001000100xxxxxxxxxxxxx
10463                                                                      fabd.  */
10464                                                                   return 1370;
10465                                                                 }
10466                                                               else
10467                                                                 {
10468                                                                   /* 33222222222211111111110000000000
10469                                                                      10987654321098765432109876543210
10470                                                                      011001x1xx011000100xxxxxxxxxxxxx
10471                                                                      fadd.  */
10472                                                                   return 1376;
10473                                                                 }
10474                                                             }
10475                                                           else
10476                                                             {
10477                                                               if (((word >> 20) & 0x1) == 0)
10478                                                                 {
10479                                                                   /* 33222222222211111111110000000000
10480                                                                      10987654321098765432109876543210
10481                                                                      011001x1xx001100100xxxxxxxxxxxxx
10482                                                                      fdivr.  */
10483                                                                   return 1416;
10484                                                                 }
10485                                                               else
10486                                                                 {
10487                                                                   /* 33222222222211111111110000000000
10488                                                                      10987654321098765432109876543210
10489                                                                      011001x1xx011100100xxxxxxxxxxxxx
10490                                                                      fmaxnm.  */
10491                                                                   return 1423;
10492                                                                 }
10493                                                             }
10494                                                         }
10495                                                       else
10496                                                         {
10497                                                           if (((word >> 18) & 0x1) == 0)
10498                                                             {
10499                                                               if (((word >> 20) & 0x1) == 0)
10500                                                                 {
10501                                                                   /* 33222222222211111111110000000000
10502                                                                      10987654321098765432109876543210
10503                                                                      011001x1xx001010100xxxxxxxxxxxxx
10504                                                                      fmulx.  */
10505                                                                   return 1447;
10506                                                                 }
10507                                                               else
10508                                                                 {
10509                                                                   /* 33222222222211111111110000000000
10510                                                                      10987654321098765432109876543210
10511                                                                      011001x1xx011010100xxxxxxxxxxxxx
10512                                                                      fmul.  */
10513                                                                   return 1443;
10514                                                                 }
10515                                                             }
10516                                                           else
10517                                                             {
10518                                                               /* 33222222222211111111110000000000
10519                                                                  10987654321098765432109876543210
10520                                                                  011001x1xx0x1110100xxxxxxxxxxxxx
10521                                                                  fmax.  */
10522                                                               return 1421;
10523                                                             }
10524                                                         }
10525                                                     }
10526                                                   else
10527                                                     {
10528                                                       if (((word >> 17) & 0x1) == 0)
10529                                                         {
10530                                                           if (((word >> 18) & 0x1) == 0)
10531                                                             {
10532                                                               if (((word >> 20) & 0x1) == 0)
10533                                                                 {
10534                                                                   /* 33222222222211111111110000000000
10535                                                                      10987654321098765432109876543210
10536                                                                      011001x1xx001001100xxxxxxxxxxxxx
10537                                                                      fscale.  */
10538                                                                   return 1465;
10539                                                                 }
10540                                                               else
10541                                                                 {
10542                                                                   /* 33222222222211111111110000000000
10543                                                                      10987654321098765432109876543210
10544                                                                      011001x1xx011001100xxxxxxxxxxxxx
10545                                                                      fsub.  */
10546                                                                   return 1469;
10547                                                                 }
10548                                                             }
10549                                                           else
10550                                                             {
10551                                                               if (((word >> 20) & 0x1) == 0)
10552                                                                 {
10553                                                                   /* 33222222222211111111110000000000
10554                                                                      10987654321098765432109876543210
10555                                                                      011001x1xx001101100xxxxxxxxxxxxx
10556                                                                      fdiv.  */
10557                                                                   return 1415;
10558                                                                 }
10559                                                               else
10560                                                                 {
10561                                                                   /* 33222222222211111111110000000000
10562                                                                      10987654321098765432109876543210
10563                                                                      011001x1xx011101100xxxxxxxxxxxxx
10564                                                                      fminnm.  */
10565                                                                   return 1429;
10566                                                                 }
10567                                                             }
10568                                                         }
10569                                                       else
10570                                                         {
10571                                                           if (((word >> 18) & 0x1) == 0)
10572                                                             {
10573                                                               /* 33222222222211111111110000000000
10574                                                                  10987654321098765432109876543210
10575                                                                  011001x1xx0x1011100xxxxxxxxxxxxx
10576                                                                  fsubr.  */
10577                                                               return 1471;
10578                                                             }
10579                                                           else
10580                                                             {
10581                                                               /* 33222222222211111111110000000000
10582                                                                  10987654321098765432109876543210
10583                                                                  011001x1xx0x1111100xxxxxxxxxxxxx
10584                                                                  fmin.  */
10585                                                               return 1427;
10586                                                             }
10587                                                         }
10588                                                     }
10589                                                 }
10590                                             }
10591                                           else
10592                                             {
10593                                               if (((word >> 4) & 0x1) == 0)
10594                                                 {
10595                                                   /* 33222222222211111111110000000000
10596                                                      10987654321098765432109876543210
10597                                                      011001x1xx0xxxxx110xxxxxxxx0xxxx
10598                                                      fcmuo.  */
10599                                                   return 1393;
10600                                                 }
10601                                               else
10602                                                 {
10603                                                   /* 33222222222211111111110000000000
10604                                                      10987654321098765432109876543210
10605                                                      011001x1xx0xxxxx110xxxxxxxx1xxxx
10606                                                      facge.  */
10607                                                   return 1372;
10608                                                 }
10609                                             }
10610                                         }
10611                                       else
10612                                         {
10613                                           if (((word >> 22) & 0x1) == 0)
10614                                             {
10615                                               if (((word >> 23) & 0x1) == 0)
10616                                                 {
10617                                                   /* 33222222222211111111110000000000
10618                                                      10987654321098765432109876543210
10619                                                      111001x1000xxxxx1x0xxxxxxxxxxxxx
10620                                                      st1w.  */
10621                                                   return 1891;
10622                                                 }
10623                                               else
10624                                                 {
10625                                                   /* 33222222222211111111110000000000
10626                                                      10987654321098765432109876543210
10627                                                      111001x1100xxxxx1x0xxxxxxxxxxxxx
10628                                                      st1d.  */
10629                                                   return 1870;
10630                                                 }
10631                                             }
10632                                           else
10633                                             {
10634                                               /* 33222222222211111111110000000000
10635                                                  10987654321098765432109876543210
10636                                                  111001x1x10xxxxx1x0xxxxxxxxxxxxx
10637                                                  st1w.  */
10638                                               return 1896;
10639                                             }
10640                                         }
10641                                     }
10642                                   else
10643                                     {
10644                                       if (((word >> 14) & 0x1) == 0)
10645                                         {
10646                                           if (((word >> 31) & 0x1) == 0)
10647                                             {
10648                                               if (((word >> 16) & 0x1) == 0)
10649                                                 {
10650                                                   if (((word >> 17) & 0x1) == 0)
10651                                                     {
10652                                                       if (((word >> 18) & 0x1) == 0)
10653                                                         {
10654                                                           if (((word >> 19) & 0x1) == 0)
10655                                                             {
10656                                                               if (((word >> 20) & 0x1) == 0)
10657                                                                 {
10658                                                                   /* 33222222222211111111110000000000
10659                                                                      10987654321098765432109876543210
10660                                                                      011001x1xx000000101xxxxxxxxxxxxx
10661                                                                      frintn.  */
10662                                                                   return 1459;
10663                                                                 }
10664                                                               else
10665                                                                 {
10666                                                                   /* 33222222222211111111110000000000
10667                                                                      10987654321098765432109876543210
10668                                                                      011001x1xx010000101xxxxxxxxxxxxx
10669                                                                      scvtf.  */
10670                                                                   return 1805;
10671                                                                 }
10672                                                             }
10673                                                           else
10674                                                             {
10675                                                               if (((word >> 20) & 0x1) == 0)
10676                                                                 {
10677                                                                   if (((word >> 22) & 0x1) == 0)
10678                                                                     {
10679                                                                       /* 33222222222211111111110000000000
10680                                                                          10987654321098765432109876543210
10681                                                                          011001x1x0001000101xxxxxxxxxxxxx
10682                                                                          fcvt.  */
10683                                                                       return 1395;
10684                                                                     }
10685                                                                   else
10686                                                                     {
10687                                                                       /* 33222222222211111111110000000000
10688                                                                          10987654321098765432109876543210
10689                                                                          011001x1x1001000101xxxxxxxxxxxxx
10690                                                                          fcvt.  */
10691                                                                       return 1397;
10692                                                                     }
10693                                                                 }
10694                                                               else
10695                                                                 {
10696                                                                   /* 33222222222211111111110000000000
10697                                                                      10987654321098765432109876543210
10698                                                                      011001x1xx011000101xxxxxxxxxxxxx
10699                                                                      fcvtzs.  */
10700                                                                   return 1405;
10701                                                                 }
10702                                                             }
10703                                                         }
10704                                                       else
10705                                                         {
10706                                                           if (((word >> 19) & 0x1) == 0)
10707                                                             {
10708                                                               if (((word >> 20) & 0x1) == 0)
10709                                                                 {
10710                                                                   /* 33222222222211111111110000000000
10711                                                                      10987654321098765432109876543210
10712                                                                      011001x1xx000100101xxxxxxxxxxxxx
10713                                                                      frinta.  */
10714                                                                   return 1456;
10715                                                                 }
10716                                                               else
10717                                                                 {
10718                                                                   if (((word >> 22) & 0x1) == 0)
10719                                                                     {
10720                                                                       /* 33222222222211111111110000000000
10721                                                                          10987654321098765432109876543210
10722                                                                          011001x1x0010100101xxxxxxxxxxxxx
10723                                                                          scvtf.  */
10724                                                                       return 1804;
10725                                                                     }
10726                                                                   else
10727                                                                     {
10728                                                                       if (((word >> 23) & 0x1) == 0)
10729                                                                         {
10730                                                                           /* 33222222222211111111110000000000
10731                                                                              10987654321098765432109876543210
10732                                                                              011001x101010100101xxxxxxxxxxxxx
10733                                                                              scvtf.  */
10734                                                                           return 1803;
10735                                                                         }
10736                                                                       else
10737                                                                         {
10738                                                                           /* 33222222222211111111110000000000
10739                                                                              10987654321098765432109876543210
10740                                                                              011001x111010100101xxxxxxxxxxxxx
10741                                                                              scvtf.  */
10742                                                                           return 1807;
10743                                                                         }
10744                                                                     }
10745                                                                 }
10746                                                             }
10747                                                           else
10748                                                             {
10749                                                               if (((word >> 20) & 0x1) == 0)
10750                                                                 {
10751                                                                   /* 33222222222211111111110000000000
10752                                                                      10987654321098765432109876543210
10753                                                                      011001x1xx001100101xxxxxxxxxxxxx
10754                                                                      frecpx.  */
10755                                                                   return 1455;
10756                                                                 }
10757                                                               else
10758                                                                 {
10759                                                                   if (((word >> 22) & 0x1) == 0)
10760                                                                     {
10761                                                                       /* 33222222222211111111110000000000
10762                                                                          10987654321098765432109876543210
10763                                                                          011001x1x0011100101xxxxxxxxxxxxx
10764                                                                          fcvtzs.  */
10765                                                                       return 1404;
10766                                                                     }
10767                                                                   else
10768                                                                     {
10769                                                                       if (((word >> 23) & 0x1) == 0)
10770                                                                         {
10771                                                                           /* 33222222222211111111110000000000
10772                                                                              10987654321098765432109876543210
10773                                                                              011001x101011100101xxxxxxxxxxxxx
10774                                                                              fcvtzs.  */
10775                                                                           return 1402;
10776                                                                         }
10777                                                                       else
10778                                                                         {
10779                                                                           /* 33222222222211111111110000000000
10780                                                                              10987654321098765432109876543210
10781                                                                              011001x111011100101xxxxxxxxxxxxx
10782                                                                              fcvtzs.  */
10783                                                                           return 1406;
10784                                                                         }
10785                                                                     }
10786                                                                 }
10787                                                             }
10788                                                         }
10789                                                     }
10790                                                   else
10791                                                     {
10792                                                       if (((word >> 18) & 0x1) == 0)
10793                                                         {
10794                                                           if (((word >> 19) & 0x1) == 0)
10795                                                             {
10796                                                               if (((word >> 20) & 0x1) == 0)
10797                                                                 {
10798                                                                   /* 33222222222211111111110000000000
10799                                                                      10987654321098765432109876543210
10800                                                                      011001x1xx000010101xxxxxxxxxxxxx
10801                                                                      frintm.  */
10802                                                                   return 1458;
10803                                                                 }
10804                                                               else
10805                                                                 {
10806                                                                   /* 33222222222211111111110000000000
10807                                                                      10987654321098765432109876543210
10808                                                                      011001x1xx010010101xxxxxxxxxxxxx
10809                                                                      scvtf.  */
10810                                                                   return 1802;
10811                                                                 }
10812                                                             }
10813                                                           else
10814                                                             {
10815                                                               if (((word >> 20) & 0x1) == 0)
10816                                                                 {
10817                                                                   /* 33222222222211111111110000000000
10818                                                                      10987654321098765432109876543210
10819                                                                      011001x1xx001010101xxxxxxxxxxxxx
10820                                                                      fcvt.  */
10821                                                                   return 1399;
10822                                                                 }
10823                                                               else
10824                                                                 {
10825                                                                   /* 33222222222211111111110000000000
10826                                                                      10987654321098765432109876543210
10827                                                                      011001x1xx011010101xxxxxxxxxxxxx
10828                                                                      fcvtzs.  */
10829                                                                   return 1401;
10830                                                                 }
10831                                                             }
10832                                                         }
10833                                                       else
10834                                                         {
10835                                                           if (((word >> 19) & 0x1) == 0)
10836                                                             {
10837                                                               if (((word >> 20) & 0x1) == 0)
10838                                                                 {
10839                                                                   /* 33222222222211111111110000000000
10840                                                                      10987654321098765432109876543210
10841                                                                      011001x1xx000110101xxxxxxxxxxxxx
10842                                                                      frintx.  */
10843                                                                   return 1461;
10844                                                                 }
10845                                                               else
10846                                                                 {
10847                                                                   if (((word >> 23) & 0x1) == 0)
10848                                                                     {
10849                                                                       /* 33222222222211111111110000000000
10850                                                                          10987654321098765432109876543210
10851                                                                          011001x10x010110101xxxxxxxxxxxxx
10852                                                                          scvtf.  */
10853                                                                       return 1806;
10854                                                                     }
10855                                                                   else
10856                                                                     {
10857                                                                       /* 33222222222211111111110000000000
10858                                                                          10987654321098765432109876543210
10859                                                                          011001x11x010110101xxxxxxxxxxxxx
10860                                                                          scvtf.  */
10861                                                                       return 1808;
10862                                                                     }
10863                                                                 }
10864                                                             }
10865                                                           else
10866                                                             {
10867                                                               if (((word >> 23) & 0x1) == 0)
10868                                                                 {
10869                                                                   /* 33222222222211111111110000000000
10870                                                                      10987654321098765432109876543210
10871                                                                      011001x10x0x1110101xxxxxxxxxxxxx
10872                                                                      fcvtzs.  */
10873                                                                   return 1403;
10874                                                                 }
10875                                                               else
10876                                                                 {
10877                                                                   /* 33222222222211111111110000000000
10878                                                                      10987654321098765432109876543210
10879                                                                      011001x11x0x1110101xxxxxxxxxxxxx
10880                                                                      fcvtzs.  */
10881                                                                   return 1407;
10882                                                                 }
10883                                                             }
10884                                                         }
10885                                                     }
10886                                                 }
10887                                               else
10888                                                 {
10889                                                   if (((word >> 17) & 0x1) == 0)
10890                                                     {
10891                                                       if (((word >> 18) & 0x1) == 0)
10892                                                         {
10893                                                           if (((word >> 19) & 0x1) == 0)
10894                                                             {
10895                                                               if (((word >> 20) & 0x1) == 0)
10896                                                                 {
10897                                                                   /* 33222222222211111111110000000000
10898                                                                      10987654321098765432109876543210
10899                                                                      011001x1xx000001101xxxxxxxxxxxxx
10900                                                                      frintp.  */
10901                                                                   return 1460;
10902                                                                 }
10903                                                               else
10904                                                                 {
10905                                                                   /* 33222222222211111111110000000000
10906                                                                      10987654321098765432109876543210
10907                                                                      011001x1xx010001101xxxxxxxxxxxxx
10908                                                                      ucvtf.  */
10909                                                                   return 1957;
10910                                                                 }
10911                                                             }
10912                                                           else
10913                                                             {
10914                                                               if (((word >> 20) & 0x1) == 0)
10915                                                                 {
10916                                                                   if (((word >> 22) & 0x1) == 0)
10917                                                                     {
10918                                                                       /* 33222222222211111111110000000000
10919                                                                          10987654321098765432109876543210
10920                                                                          011001x1x0001001101xxxxxxxxxxxxx
10921                                                                          fcvt.  */
10922                                                                       return 1396;
10923                                                                     }
10924                                                                   else
10925                                                                     {
10926                                                                       /* 33222222222211111111110000000000
10927                                                                          10987654321098765432109876543210
10928                                                                          011001x1x1001001101xxxxxxxxxxxxx
10929                                                                          fcvt.  */
10930                                                                       return 1398;
10931                                                                     }
10932                                                                 }
10933                                                               else
10934                                                                 {
10935                                                                   /* 33222222222211111111110000000000
10936                                                                      10987654321098765432109876543210
10937                                                                      011001x1xx011001101xxxxxxxxxxxxx
10938                                                                      fcvtzu.  */
10939                                                                   return 1412;
10940                                                                 }
10941                                                             }
10942                                                         }
10943                                                       else
10944                                                         {
10945                                                           if (((word >> 19) & 0x1) == 0)
10946                                                             {
10947                                                               if (((word >> 22) & 0x1) == 0)
10948                                                                 {
10949                                                                   /* 33222222222211111111110000000000
10950                                                                      10987654321098765432109876543210
10951                                                                      011001x1x00x0101101xxxxxxxxxxxxx
10952                                                                      ucvtf.  */
10953                                                                   return 1956;
10954                                                                 }
10955                                                               else
10956                                                                 {
10957                                                                   if (((word >> 23) & 0x1) == 0)
10958                                                                     {
10959                                                                       /* 33222222222211111111110000000000
10960                                                                          10987654321098765432109876543210
10961                                                                          011001x1010x0101101xxxxxxxxxxxxx
10962                                                                          ucvtf.  */
10963                                                                       return 1955;
10964                                                                     }
10965                                                                   else
10966                                                                     {
10967                                                                       /* 33222222222211111111110000000000
10968                                                                          10987654321098765432109876543210
10969                                                                          011001x1110x0101101xxxxxxxxxxxxx
10970                                                                          ucvtf.  */
10971                                                                       return 1959;
10972                                                                     }
10973                                                                 }
10974                                                             }
10975                                                           else
10976                                                             {
10977                                                               if (((word >> 20) & 0x1) == 0)
10978                                                                 {
10979                                                                   /* 33222222222211111111110000000000
10980                                                                      10987654321098765432109876543210
10981                                                                      011001x1xx001101101xxxxxxxxxxxxx
10982                                                                      fsqrt.  */
10983                                                                   return 1466;
10984                                                                 }
10985                                                               else
10986                                                                 {
10987                                                                   if (((word >> 22) & 0x1) == 0)
10988                                                                     {
10989                                                                       /* 33222222222211111111110000000000
10990                                                                          10987654321098765432109876543210
10991                                                                          011001x1x0011101101xxxxxxxxxxxxx
10992                                                                          fcvtzu.  */
10993                                                                       return 1411;
10994                                                                     }
10995                                                                   else
10996                                                                     {
10997                                                                       if (((word >> 23) & 0x1) == 0)
10998                                                                         {
10999                                                                           /* 33222222222211111111110000000000
11000                                                                              10987654321098765432109876543210
11001                                                                              011001x101011101101xxxxxxxxxxxxx
11002                                                                              fcvtzu.  */
11003                                                                           return 1409;
11004                                                                         }
11005                                                                       else
11006                                                                         {
11007                                                                           /* 33222222222211111111110000000000
11008                                                                              10987654321098765432109876543210
11009                                                                              011001x111011101101xxxxxxxxxxxxx
11010                                                                              fcvtzu.  */
11011                                                                           return 1413;
11012                                                                         }
11013                                                                     }
11014                                                                 }
11015                                                             }
11016                                                         }
11017                                                     }
11018                                                   else
11019                                                     {
11020                                                       if (((word >> 18) & 0x1) == 0)
11021                                                         {
11022                                                           if (((word >> 19) & 0x1) == 0)
11023                                                             {
11024                                                               if (((word >> 20) & 0x1) == 0)
11025                                                                 {
11026                                                                   /* 33222222222211111111110000000000
11027                                                                      10987654321098765432109876543210
11028                                                                      011001x1xx000011101xxxxxxxxxxxxx
11029                                                                      frintz.  */
11030                                                                   return 1462;
11031                                                                 }
11032                                                               else
11033                                                                 {
11034                                                                   /* 33222222222211111111110000000000
11035                                                                      10987654321098765432109876543210
11036                                                                      011001x1xx010011101xxxxxxxxxxxxx
11037                                                                      ucvtf.  */
11038                                                                   return 1954;
11039                                                                 }
11040                                                             }
11041                                                           else
11042                                                             {
11043                                                               if (((word >> 20) & 0x1) == 0)
11044                                                                 {
11045                                                                   /* 33222222222211111111110000000000
11046                                                                      10987654321098765432109876543210
11047                                                                      011001x1xx001011101xxxxxxxxxxxxx
11048                                                                      fcvt.  */
11049                                                                   return 1400;
11050                                                                 }
11051                                                               else
11052                                                                 {
11053                                                                   /* 33222222222211111111110000000000
11054                                                                      10987654321098765432109876543210
11055                                                                      011001x1xx011011101xxxxxxxxxxxxx
11056                                                                      fcvtzu.  */
11057                                                                   return 1408;
11058                                                                 }
11059                                                             }
11060                                                         }
11061                                                       else
11062                                                         {
11063                                                           if (((word >> 19) & 0x1) == 0)
11064                                                             {
11065                                                               if (((word >> 20) & 0x1) == 0)
11066                                                                 {
11067                                                                   /* 33222222222211111111110000000000
11068                                                                      10987654321098765432109876543210
11069                                                                      011001x1xx000111101xxxxxxxxxxxxx
11070                                                                      frinti.  */
11071                                                                   return 1457;
11072                                                                 }
11073                                                               else
11074                                                                 {
11075                                                                   if (((word >> 23) & 0x1) == 0)
11076                                                                     {
11077                                                                       /* 33222222222211111111110000000000
11078                                                                          10987654321098765432109876543210
11079                                                                          011001x10x010111101xxxxxxxxxxxxx
11080                                                                          ucvtf.  */
11081                                                                       return 1958;
11082                                                                     }
11083                                                                   else
11084                                                                     {
11085                                                                       /* 33222222222211111111110000000000
11086                                                                          10987654321098765432109876543210
11087                                                                          011001x11x010111101xxxxxxxxxxxxx
11088                                                                          ucvtf.  */
11089                                                                       return 1960;
11090                                                                     }
11091                                                                 }
11092                                                             }
11093                                                           else
11094                                                             {
11095                                                               if (((word >> 23) & 0x1) == 0)
11096                                                                 {
11097                                                                   /* 33222222222211111111110000000000
11098                                                                      10987654321098765432109876543210
11099                                                                      011001x10x0x1111101xxxxxxxxxxxxx
11100                                                                      fcvtzu.  */
11101                                                                   return 1410;
11102                                                                 }
11103                                                               else
11104                                                                 {
11105                                                                   /* 33222222222211111111110000000000
11106                                                                      10987654321098765432109876543210
11107                                                                      011001x11x0x1111101xxxxxxxxxxxxx
11108                                                                      fcvtzu.  */
11109                                                                   return 1414;
11110                                                                 }
11111                                                             }
11112                                                         }
11113                                                     }
11114                                                 }
11115                                             }
11116                                           else
11117                                             {
11118                                               if (((word >> 22) & 0x1) == 0)
11119                                                 {
11120                                                   if (((word >> 23) & 0x1) == 0)
11121                                                     {
11122                                                       /* 33222222222211111111110000000000
11123                                                          10987654321098765432109876543210
11124                                                          111001x1000xxxxx101xxxxxxxxxxxxx
11125                                                          st1w.  */
11126                                                       return 1892;
11127                                                     }
11128                                                   else
11129                                                     {
11130                                                       /* 33222222222211111111110000000000
11131                                                          10987654321098765432109876543210
11132                                                          111001x1100xxxxx101xxxxxxxxxxxxx
11133                                                          st1d.  */
11134                                                       return 1871;
11135                                                     }
11136                                                 }
11137                                               else
11138                                                 {
11139                                                   if (((word >> 23) & 0x1) == 0)
11140                                                     {
11141                                                       /* 33222222222211111111110000000000
11142                                                          10987654321098765432109876543210
11143                                                          111001x1010xxxxx101xxxxxxxxxxxxx
11144                                                          st1w.  */
11145                                                       return 1899;
11146                                                     }
11147                                                   else
11148                                                     {
11149                                                       /* 33222222222211111111110000000000
11150                                                          10987654321098765432109876543210
11151                                                          111001x1110xxxxx101xxxxxxxxxxxxx
11152                                                          st1d.  */
11153                                                       return 1875;
11154                                                     }
11155                                                 }
11156                                             }
11157                                         }
11158                                       else
11159                                         {
11160                                           if (((word >> 31) & 0x1) == 0)
11161                                             {
11162                                               /* 33222222222211111111110000000000
11163                                                  10987654321098765432109876543210
11164                                                  011001x1xx0xxxxx111xxxxxxxxxxxxx
11165                                                  facgt.  */
11166                                               return 1373;
11167                                             }
11168                                           else
11169                                             {
11170                                               if (((word >> 20) & 0x1) == 0)
11171                                                 {
11172                                                   /* 33222222222211111111110000000000
11173                                                      10987654321098765432109876543210
11174                                                      111001x1xx00xxxx111xxxxxxxxxxxxx
11175                                                      st1w.  */
11176                                                   return 1900;
11177                                                 }
11178                                               else
11179                                                 {
11180                                                   if (((word >> 22) & 0x1) == 0)
11181                                                     {
11182                                                       if (((word >> 23) & 0x1) == 0)
11183                                                         {
11184                                                           /* 33222222222211111111110000000000
11185                                                              10987654321098765432109876543210
11186                                                              111001x10001xxxx111xxxxxxxxxxxxx
11187                                                              stnt1w.  */
11188                                                           return 1934;
11189                                                         }
11190                                                       else
11191                                                         {
11192                                                           /* 33222222222211111111110000000000
11193                                                              10987654321098765432109876543210
11194                                                              111001x11001xxxx111xxxxxxxxxxxxx
11195                                                              stnt1d.  */
11196                                                           return 1930;
11197                                                         }
11198                                                     }
11199                                                   else
11200                                                     {
11201                                                       if (((word >> 23) & 0x1) == 0)
11202                                                         {
11203                                                           /* 33222222222211111111110000000000
11204                                                              10987654321098765432109876543210
11205                                                              111001x10101xxxx111xxxxxxxxxxxxx
11206                                                              st3w.  */
11207                                                           return 1918;
11208                                                         }
11209                                                       else
11210                                                         {
11211                                                           /* 33222222222211111111110000000000
11212                                                              10987654321098765432109876543210
11213                                                              111001x11101xxxx111xxxxxxxxxxxxx
11214                                                              st3d.  */
11215                                                           return 1914;
11216                                                         }
11217                                                     }
11218                                                 }
11219                                             }
11220                                         }
11221                                     }
11222                                 }
11223                             }
11224                           else
11225                             {
11226                               if (((word >> 30) & 0x1) == 0)
11227                                 {
11228                                   if (((word >> 14) & 0x1) == 0)
11229                                     {
11230                                       if (((word >> 20) & 0x1) == 0)
11231                                         {
11232                                           if (((word >> 31) & 0x1) == 0)
11233                                             {
11234                                               if (((word >> 16) & 0x1) == 0)
11235                                                 {
11236                                                   if (((word >> 17) & 0x1) == 0)
11237                                                     {
11238                                                       if (((word >> 18) & 0x1) == 0)
11239                                                         {
11240                                                           if (((word >> 19) & 0x1) == 0)
11241                                                             {
11242                                                               /* 33222222222211111111110000000000
11243                                                                  10987654321098765432109876543210
11244                                                                  001001x1xx10000010xxxxxxxxxxxxxx
11245                                                                  cntp.  */
11246                                                               return 1342;
11247                                                             }
11248                                                           else
11249                                                             {
11250                                                               if (((word >> 10) & 0x1) == 0)
11251                                                                 {
11252                                                                   if (((word >> 11) & 0x1) == 0)
11253                                                                     {
11254                                                                       if (((word >> 12) & 0x1) == 0)
11255                                                                         {
11256                                                                           /* 33222222222211111111110000000000
11257                                                                              10987654321098765432109876543210
11258                                                                              001001x1xx10100010x000xxxxxxxxxx
11259                                                                              sqincp.  */
11260                                                                           return 1849;
11261                                                                         }
11262                                                                       else
11263                                                                         {
11264                                                                           /* 33222222222211111111110000000000
11265                                                                              10987654321098765432109876543210
11266                                                                              001001x1xx10100010x100xxxxxxxxxx
11267                                                                              wrffr.  */
11268                                                                           return 2022;
11269                                                                         }
11270                                                                     }
11271                                                                   else
11272                                                                     {
11273                                                                       /* 33222222222211111111110000000000
11274                                                                          10987654321098765432109876543210
11275                                                                          001001x1xx10100010xx10xxxxxxxxxx
11276                                                                          sqincp.  */
11277                                                                       return 1851;
11278                                                                     }
11279                                                                 }
11280                                                               else
11281                                                                 {
11282                                                                   /* 33222222222211111111110000000000
11283                                                                      10987654321098765432109876543210
11284                                                                      001001x1xx10100010xxx1xxxxxxxxxx
11285                                                                      sqincp.  */
11286                                                                   return 1850;
11287                                                                 }
11288                                                             }
11289                                                         }
11290                                                       else
11291                                                         {
11292                                                           if (((word >> 11) & 0x1) == 0)
11293                                                             {
11294                                                               if (((word >> 12) & 0x1) == 0)
11295                                                                 {
11296                                                                   /* 33222222222211111111110000000000
11297                                                                      10987654321098765432109876543210
11298                                                                      001001x1xx10x10010x00xxxxxxxxxxx
11299                                                                      incp.  */
11300                                                                   return 1480;
11301                                                                 }
11302                                                               else
11303                                                                 {
11304                                                                   /* 33222222222211111111110000000000
11305                                                                      10987654321098765432109876543210
11306                                                                      001001x1xx10x10010x10xxxxxxxxxxx
11307                                                                      setffr.  */
11308                                                                   return 1816;
11309                                                                 }
11310                                                             }
11311                                                           else
11312                                                             {
11313                                                               /* 33222222222211111111110000000000
11314                                                                  10987654321098765432109876543210
11315                                                                  001001x1xx10x10010xx1xxxxxxxxxxx
11316                                                                  incp.  */
11317                                                               return 1481;
11318                                                             }
11319                                                         }
11320                                                     }
11321                                                   else
11322                                                     {
11323                                                       if (((word >> 10) & 0x1) == 0)
11324                                                         {
11325                                                           if (((word >> 11) & 0x1) == 0)
11326                                                             {
11327                                                               /* 33222222222211111111110000000000
11328                                                                  10987654321098765432109876543210
11329                                                                  001001x1xx10xx1010xx00xxxxxxxxxx
11330                                                                  sqdecp.  */
11331                                                               return 1835;
11332                                                             }
11333                                                           else
11334                                                             {
11335                                                               /* 33222222222211111111110000000000
11336                                                                  10987654321098765432109876543210
11337                                                                  001001x1xx10xx1010xx10xxxxxxxxxx
11338                                                                  sqdecp.  */
11339                                                               return 1837;
11340                                                             }
11341                                                         }
11342                                                       else
11343                                                         {
11344                                                           /* 33222222222211111111110000000000
11345                                                              10987654321098765432109876543210
11346                                                              001001x1xx10xx1010xxx1xxxxxxxxxx
11347                                                              sqdecp.  */
11348                                                           return 1836;
11349                                                         }
11350                                                     }
11351                                                 }
11352                                               else
11353                                                 {
11354                                                   if (((word >> 10) & 0x1) == 0)
11355                                                     {
11356                                                       if (((word >> 11) & 0x1) == 0)
11357                                                         {
11358                                                           if (((word >> 17) & 0x1) == 0)
11359                                                             {
11360                                                               if (((word >> 18) & 0x1) == 0)
11361                                                                 {
11362                                                                   /* 33222222222211111111110000000000
11363                                                                      10987654321098765432109876543210
11364                                                                      001001x1xx10x00110xx00xxxxxxxxxx
11365                                                                      uqincp.  */
11366                                                                   return 1997;
11367                                                                 }
11368                                                               else
11369                                                                 {
11370                                                                   /* 33222222222211111111110000000000
11371                                                                      10987654321098765432109876543210
11372                                                                      001001x1xx10x10110xx00xxxxxxxxxx
11373                                                                      decp.  */
11374                                                                   return 1355;
11375                                                                 }
11376                                                             }
11377                                                           else
11378                                                             {
11379                                                               /* 33222222222211111111110000000000
11380                                                                  10987654321098765432109876543210
11381                                                                  001001x1xx10xx1110xx00xxxxxxxxxx
11382                                                                  uqdecp.  */
11383                                                               return 1983;
11384                                                             }
11385                                                         }
11386                                                       else
11387                                                         {
11388                                                           if (((word >> 17) & 0x1) == 0)
11389                                                             {
11390                                                               if (((word >> 18) & 0x1) == 0)
11391                                                                 {
11392                                                                   /* 33222222222211111111110000000000
11393                                                                      10987654321098765432109876543210
11394                                                                      001001x1xx10x00110xx10xxxxxxxxxx
11395                                                                      uqincp.  */
11396                                                                   return 1998;
11397                                                                 }
11398                                                               else
11399                                                                 {
11400                                                                   /* 33222222222211111111110000000000
11401                                                                      10987654321098765432109876543210
11402                                                                      001001x1xx10x10110xx10xxxxxxxxxx
11403                                                                      decp.  */
11404                                                                   return 1356;
11405                                                                 }
11406                                                             }
11407                                                           else
11408                                                             {
11409                                                               /* 33222222222211111111110000000000
11410                                                                  10987654321098765432109876543210
11411                                                                  001001x1xx10xx1110xx10xxxxxxxxxx
11412                                                                  uqdecp.  */
11413                                                               return 1984;
11414                                                             }
11415                                                         }
11416                                                     }
11417                                                   else
11418                                                     {
11419                                                       if (((word >> 17) & 0x1) == 0)
11420                                                         {
11421                                                           /* 33222222222211111111110000000000
11422                                                              10987654321098765432109876543210
11423                                                              001001x1xx10xx0110xxx1xxxxxxxxxx
11424                                                              uqincp.  */
11425                                                           return 1999;
11426                                                         }
11427                                                       else
11428                                                         {
11429                                                           /* 33222222222211111111110000000000
11430                                                              10987654321098765432109876543210
11431                                                              001001x1xx10xx1110xxx1xxxxxxxxxx
11432                                                              uqdecp.  */
11433                                                           return 1985;
11434                                                         }
11435                                                     }
11436                                                 }
11437                                             }
11438                                           else
11439                                             {
11440                                               if (((word >> 22) & 0x1) == 0)
11441                                                 {
11442                                                   if (((word >> 23) & 0x1) == 0)
11443                                                     {
11444                                                       /* 33222222222211111111110000000000
11445                                                          10987654321098765432109876543210
11446                                                          101001x10010xxxx10xxxxxxxxxxxxxx
11447                                                          ld1sh.  */
11448                                                       return 1573;
11449                                                     }
11450                                                   else
11451                                                     {
11452                                                       /* 33222222222211111111110000000000
11453                                                          10987654321098765432109876543210
11454                                                          101001x11010xxxx10xxxxxxxxxxxxxx
11455                                                          ld1sb.  */
11456                                                       return 1560;
11457                                                     }
11458                                                 }
11459                                               else
11460                                                 {
11461                                                   if (((word >> 23) & 0x1) == 0)
11462                                                     {
11463                                                       /* 33222222222211111111110000000000
11464                                                          10987654321098765432109876543210
11465                                                          101001x10110xxxx10xxxxxxxxxxxxxx
11466                                                          ld1w.  */
11467                                                       return 1592;
11468                                                     }
11469                                                   else
11470                                                     {
11471                                                       /* 33222222222211111111110000000000
11472                                                          10987654321098765432109876543210
11473                                                          101001x11110xxxx10xxxxxxxxxxxxxx
11474                                                          ld1d.  */
11475                                                       return 1512;
11476                                                     }
11477                                                 }
11478                                             }
11479                                         }
11480                                       else
11481                                         {
11482                                           if (((word >> 22) & 0x1) == 0)
11483                                             {
11484                                               if (((word >> 23) & 0x1) == 0)
11485                                                 {
11486                                                   /* 33222222222211111111110000000000
11487                                                      10987654321098765432109876543210
11488                                                      x01001x10011xxxx10xxxxxxxxxxxxxx
11489                                                      ldnf1sh.  */
11490                                                   return 1706;
11491                                                 }
11492                                               else
11493                                                 {
11494                                                   /* 33222222222211111111110000000000
11495                                                      10987654321098765432109876543210
11496                                                      x01001x11011xxxx10xxxxxxxxxxxxxx
11497                                                      ldnf1sb.  */
11498                                                   return 1703;
11499                                                 }
11500                                             }
11501                                           else
11502                                             {
11503                                               if (((word >> 23) & 0x1) == 0)
11504                                                 {
11505                                                   /* 33222222222211111111110000000000
11506                                                      10987654321098765432109876543210
11507                                                      x01001x10111xxxx10xxxxxxxxxxxxxx
11508                                                      ldnf1w.  */
11509                                                   return 1709;
11510                                                 }
11511                                               else
11512                                                 {
11513                                                   /* 33222222222211111111110000000000
11514                                                      10987654321098765432109876543210
11515                                                      x01001x11111xxxx10xxxxxxxxxxxxxx
11516                                                      ldnf1d.  */
11517                                                   return 1698;
11518                                                 }
11519                                             }
11520                                         }
11521                                     }
11522                                   else
11523                                     {
11524                                       if (((word >> 31) & 0x1) == 0)
11525                                         {
11526                                           if (((word >> 16) & 0x1) == 0)
11527                                             {
11528                                               if (((word >> 17) & 0x1) == 0)
11529                                                 {
11530                                                   if (((word >> 18) & 0x1) == 0)
11531                                                     {
11532                                                       if (((word >> 19) & 0x1) == 0)
11533                                                         {
11534                                                           if (((word >> 20) & 0x1) == 0)
11535                                                             {
11536                                                               /* 33222222222211111111110000000000
11537                                                                  10987654321098765432109876543210
11538                                                                  001001x1xx10000011xxxxxxxxxxxxxx
11539                                                                  add.  */
11540                                                               return 1269;
11541                                                             }
11542                                                           else
11543                                                             {
11544                                                               /* 33222222222211111111110000000000
11545                                                                  10987654321098765432109876543210
11546                                                                  001001x1xx11000011xxxxxxxxxxxxxx
11547                                                                  mul.  */
11548                                                               return 1738;
11549                                                             }
11550                                                         }
11551                                                       else
11552                                                         {
11553                                                           if (((word >> 20) & 0x1) == 0)
11554                                                             {
11555                                                               /* 33222222222211111111110000000000
11556                                                                  10987654321098765432109876543210
11557                                                                  001001x1xx10100011xxxxxxxxxxxxxx
11558                                                                  smax.  */
11559                                                               return 1817;
11560                                                             }
11561                                                           else
11562                                                             {
11563                                                               /* 33222222222211111111110000000000
11564                                                                  10987654321098765432109876543210
11565                                                                  001001x1xx11100011xxxxxxxxxxxxxx
11566                                                                  dup.  */
11567                                                               return 1361;
11568                                                             }
11569                                                         }
11570                                                     }
11571                                                   else
11572                                                     {
11573                                                       /* 33222222222211111111110000000000
11574                                                          10987654321098765432109876543210
11575                                                          001001x1xx1xx10011xxxxxxxxxxxxxx
11576                                                          sqadd.  */
11577                                                       return 1826;
11578                                                     }
11579                                                 }
11580                                               else
11581                                                 {
11582                                                   if (((word >> 18) & 0x1) == 0)
11583                                                     {
11584                                                       /* 33222222222211111111110000000000
11585                                                          10987654321098765432109876543210
11586                                                          001001x1xx1xx01011xxxxxxxxxxxxxx
11587                                                          smin.  */
11588                                                       return 1820;
11589                                                     }
11590                                                   else
11591                                                     {
11592                                                       /* 33222222222211111111110000000000
11593                                                          10987654321098765432109876543210
11594                                                          001001x1xx1xx11011xxxxxxxxxxxxxx
11595                                                          sqsub.  */
11596                                                       return 1856;
11597                                                     }
11598                                                 }
11599                                             }
11600                                           else
11601                                             {
11602                                               if (((word >> 17) & 0x1) == 0)
11603                                                 {
11604                                                   if (((word >> 18) & 0x1) == 0)
11605                                                     {
11606                                                       if (((word >> 19) & 0x1) == 0)
11607                                                         {
11608                                                           /* 33222222222211111111110000000000
11609                                                              10987654321098765432109876543210
11610                                                              001001x1xx1x000111xxxxxxxxxxxxxx
11611                                                              sub.  */
11612                                                           return 1938;
11613                                                         }
11614                                                       else
11615                                                         {
11616                                                           if (((word >> 20) & 0x1) == 0)
11617                                                             {
11618                                                               /* 33222222222211111111110000000000
11619                                                                  10987654321098765432109876543210
11620                                                                  001001x1xx10100111xxxxxxxxxxxxxx
11621                                                                  umax.  */
11622                                                               return 1966;
11623                                                             }
11624                                                           else
11625                                                             {
11626                                                               /* 33222222222211111111110000000000
11627                                                                  10987654321098765432109876543210
11628                                                                  001001x1xx11100111xxxxxxxxxxxxxx
11629                                                                  fdup.  */
11630                                                               return 1417;
11631                                                             }
11632                                                         }
11633                                                     }
11634                                                   else
11635                                                     {
11636                                                       /* 33222222222211111111110000000000
11637                                                          10987654321098765432109876543210
11638                                                          001001x1xx1xx10111xxxxxxxxxxxxxx
11639                                                          uqadd.  */
11640                                                       return 1974;
11641                                                     }
11642                                                 }
11643                                               else
11644                                                 {
11645                                                   if (((word >> 18) & 0x1) == 0)
11646                                                     {
11647                                                       if (((word >> 19) & 0x1) == 0)
11648                                                         {
11649                                                           /* 33222222222211111111110000000000
11650                                                              10987654321098765432109876543210
11651                                                              001001x1xx1x001111xxxxxxxxxxxxxx
11652                                                              subr.  */
11653                                                           return 1940;
11654                                                         }
11655                                                       else
11656                                                         {
11657                                                           /* 33222222222211111111110000000000
11658                                                              10987654321098765432109876543210
11659                                                              001001x1xx1x101111xxxxxxxxxxxxxx
11660                                                              umin.  */
11661                                                           return 1969;
11662                                                         }
11663                                                     }
11664                                                   else
11665                                                     {
11666                                                       /* 33222222222211111111110000000000
11667                                                          10987654321098765432109876543210
11668                                                          001001x1xx1xx11111xxxxxxxxxxxxxx
11669                                                          uqsub.  */
11670                                                       return 2004;
11671                                                     }
11672                                                 }
11673                                             }
11674                                         }
11675                                       else
11676                                         {
11677                                           if (((word >> 13) & 0x1) == 0)
11678                                             {
11679                                               if (((word >> 22) & 0x1) == 0)
11680                                                 {
11681                                                   if (((word >> 23) & 0x1) == 0)
11682                                                     {
11683                                                       /* 33222222222211111111110000000000
11684                                                          10987654321098765432109876543210
11685                                                          101001x1001xxxxx110xxxxxxxxxxxxx
11686                                                          ld2w.  */
11687                                                       return 1600;
11688                                                     }
11689                                                   else
11690                                                     {
11691                                                       /* 33222222222211111111110000000000
11692                                                          10987654321098765432109876543210
11693                                                          101001x1101xxxxx110xxxxxxxxxxxxx
11694                                                          ld2d.  */
11695                                                       return 1596;
11696                                                     }
11697                                                 }
11698                                               else
11699                                                 {
11700                                                   if (((word >> 23) & 0x1) == 0)
11701                                                     {
11702                                                       /* 33222222222211111111110000000000
11703                                                          10987654321098765432109876543210
11704                                                          101001x1011xxxxx110xxxxxxxxxxxxx
11705                                                          ld4w.  */
11706                                                       return 1616;
11707                                                     }
11708                                                   else
11709                                                     {
11710                                                       /* 33222222222211111111110000000000
11711                                                          10987654321098765432109876543210
11712                                                          101001x1111xxxxx110xxxxxxxxxxxxx
11713                                                          ld4d.  */
11714                                                       return 1612;
11715                                                     }
11716                                                 }
11717                                             }
11718                                           else
11719                                             {
11720                                               if (((word >> 22) & 0x1) == 0)
11721                                                 {
11722                                                   if (((word >> 23) & 0x1) == 0)
11723                                                     {
11724                                                       /* 33222222222211111111110000000000
11725                                                          10987654321098765432109876543210
11726                                                          101001x1001xxxxx111xxxxxxxxxxxxx
11727                                                          ld2w.  */
11728                                                       return 1601;
11729                                                     }
11730                                                   else
11731                                                     {
11732                                                       /* 33222222222211111111110000000000
11733                                                          10987654321098765432109876543210
11734                                                          101001x1101xxxxx111xxxxxxxxxxxxx
11735                                                          ld2d.  */
11736                                                       return 1597;
11737                                                     }
11738                                                 }
11739                                               else
11740                                                 {
11741                                                   if (((word >> 23) & 0x1) == 0)
11742                                                     {
11743                                                       /* 33222222222211111111110000000000
11744                                                          10987654321098765432109876543210
11745                                                          101001x1011xxxxx111xxxxxxxxxxxxx
11746                                                          ld4w.  */
11747                                                       return 1617;
11748                                                     }
11749                                                   else
11750                                                     {
11751                                                       /* 33222222222211111111110000000000
11752                                                          10987654321098765432109876543210
11753                                                          101001x1111xxxxx111xxxxxxxxxxxxx
11754                                                          ld4d.  */
11755                                                       return 1613;
11756                                                     }
11757                                                 }
11758                                             }
11759                                         }
11760                                     }
11761                                 }
11762                               else
11763                                 {
11764                                   if (((word >> 13) & 0x1) == 0)
11765                                     {
11766                                       if (((word >> 31) & 0x1) == 0)
11767                                         {
11768                                           if (((word >> 14) & 0x1) == 0)
11769                                             {
11770                                               /* 33222222222211111111110000000000
11771                                                  10987654321098765432109876543210
11772                                                  011001x1xx1xxxxx100xxxxxxxxxxxxx
11773                                                  fmad.  */
11774                                               return 1419;
11775                                             }
11776                                           else
11777                                             {
11778                                               /* 33222222222211111111110000000000
11779                                                  10987654321098765432109876543210
11780                                                  011001x1xx1xxxxx110xxxxxxxxxxxxx
11781                                                  fnmad.  */
11782                                               return 1449;
11783                                             }
11784                                         }
11785                                       else
11786                                         {
11787                                           if (((word >> 22) & 0x1) == 0)
11788                                             {
11789                                               if (((word >> 23) & 0x1) == 0)
11790                                                 {
11791                                                   /* 33222222222211111111110000000000
11792                                                      10987654321098765432109876543210
11793                                                      111001x1001xxxxx1x0xxxxxxxxxxxxx
11794                                                      st1w.  */
11795                                                   return 1893;
11796                                                 }
11797                                               else
11798                                                 {
11799                                                   /* 33222222222211111111110000000000
11800                                                      10987654321098765432109876543210
11801                                                      111001x1101xxxxx1x0xxxxxxxxxxxxx
11802                                                      st1d.  */
11803                                                   return 1872;
11804                                                 }
11805                                             }
11806                                           else
11807                                             {
11808                                               /* 33222222222211111111110000000000
11809                                                  10987654321098765432109876543210
11810                                                  111001x1x11xxxxx1x0xxxxxxxxxxxxx
11811                                                  st1w.  */
11812                                               return 1898;
11813                                             }
11814                                         }
11815                                     }
11816                                   else
11817                                     {
11818                                       if (((word >> 14) & 0x1) == 0)
11819                                         {
11820                                           if (((word >> 31) & 0x1) == 0)
11821                                             {
11822                                               /* 33222222222211111111110000000000
11823                                                  10987654321098765432109876543210
11824                                                  011001x1xx1xxxxx101xxxxxxxxxxxxx
11825                                                  fmsb.  */
11826                                               return 1440;
11827                                             }
11828                                           else
11829                                             {
11830                                               if (((word >> 22) & 0x1) == 0)
11831                                                 {
11832                                                   if (((word >> 23) & 0x1) == 0)
11833                                                     {
11834                                                       /* 33222222222211111111110000000000
11835                                                          10987654321098765432109876543210
11836                                                          111001x1001xxxxx101xxxxxxxxxxxxx
11837                                                          st1w.  */
11838                                                       return 1894;
11839                                                     }
11840                                                   else
11841                                                     {
11842                                                       /* 33222222222211111111110000000000
11843                                                          10987654321098765432109876543210
11844                                                          111001x1101xxxxx101xxxxxxxxxxxxx
11845                                                          st1d.  */
11846                                                       return 1873;
11847                                                     }
11848                                                 }
11849                                               else
11850                                                 {
11851                                                   /* 33222222222211111111110000000000
11852                                                      10987654321098765432109876543210
11853                                                      111001x1x11xxxxx101xxxxxxxxxxxxx
11854                                                      st1w.  */
11855                                                   return 1901;
11856                                                 }
11857                                             }
11858                                         }
11859                                       else
11860                                         {
11861                                           if (((word >> 31) & 0x1) == 0)
11862                                             {
11863                                               /* 33222222222211111111110000000000
11864                                                  10987654321098765432109876543210
11865                                                  011001x1xx1xxxxx111xxxxxxxxxxxxx
11866                                                  fnmsb.  */
11867                                               return 1452;
11868                                             }
11869                                           else
11870                                             {
11871                                               if (((word >> 20) & 0x1) == 0)
11872                                                 {
11873                                                   if (((word >> 23) & 0x1) == 0)
11874                                                     {
11875                                                       /* 33222222222211111111110000000000
11876                                                          10987654321098765432109876543210
11877                                                          111001x10x10xxxx111xxxxxxxxxxxxx
11878                                                          st1w.  */
11879                                                       return 1902;
11880                                                     }
11881                                                   else
11882                                                     {
11883                                                       /* 33222222222211111111110000000000
11884                                                          10987654321098765432109876543210
11885                                                          111001x11x10xxxx111xxxxxxxxxxxxx
11886                                                          st1d.  */
11887                                                       return 1876;
11888                                                     }
11889                                                 }
11890                                               else
11891                                                 {
11892                                                   if (((word >> 22) & 0x1) == 0)
11893                                                     {
11894                                                       if (((word >> 23) & 0x1) == 0)
11895                                                         {
11896                                                           /* 33222222222211111111110000000000
11897                                                              10987654321098765432109876543210
11898                                                              111001x10011xxxx111xxxxxxxxxxxxx
11899                                                              st2w.  */
11900                                                           return 1910;
11901                                                         }
11902                                                       else
11903                                                         {
11904                                                           /* 33222222222211111111110000000000
11905                                                              10987654321098765432109876543210
11906                                                              111001x11011xxxx111xxxxxxxxxxxxx
11907                                                              st2d.  */
11908                                                           return 1906;
11909                                                         }
11910                                                     }
11911                                                   else
11912                                                     {
11913                                                       if (((word >> 23) & 0x1) == 0)
11914                                                         {
11915                                                           /* 33222222222211111111110000000000
11916                                                              10987654321098765432109876543210
11917                                                              111001x10111xxxx111xxxxxxxxxxxxx
11918                                                              st4w.  */
11919                                                           return 1926;
11920                                                         }
11921                                                       else
11922                                                         {
11923                                                           /* 33222222222211111111110000000000
11924                                                              10987654321098765432109876543210
11925                                                              111001x11111xxxx111xxxxxxxxxxxxx
11926                                                              st4d.  */
11927                                                           return 1922;
11928                                                         }
11929                                                     }
11930                                                 }
11931                                             }
11932                                         }
11933                                     }
11934                                 }
11935                             }
11936                         }
11937                     }
11938                 }
11939             }
11940           else
11941             {
11942               if (((word >> 29) & 0x1) == 0)
11943                 {
11944                   if (((word >> 30) & 0x1) == 0)
11945                     {
11946                       if (((word >> 31) & 0x1) == 0)
11947                         {
11948                           /* 33222222222211111111110000000000
11949                              10987654321098765432109876543210
11950                              000101xxxxxxxxxxxxxxxxxxxxxxxxxx
11951                              b.  */
11952                           return 636;
11953                         }
11954                       else
11955                         {
11956                           /* 33222222222211111111110000000000
11957                              10987654321098765432109876543210
11958                              100101xxxxxxxxxxxxxxxxxxxxxxxxxx
11959                              bl.  */
11960                           return 637;
11961                         }
11962                     }
11963                   else
11964                     {
11965                       if (((word >> 24) & 0x1) == 0)
11966                         {
11967                           if (((word >> 4) & 0x1) == 0)
11968                             {
11969                               if (((word >> 25) & 0x1) == 0)
11970                                 {
11971                                   if (((word >> 31) & 0x1) == 0)
11972                                     {
11973                                       /* 33222222222211111111110000000000
11974                                          10987654321098765432109876543210
11975                                          01010100xxxxxxxxxxxxxxxxxxx0xxxx
11976                                          b.c.  */
11977                                       return 657;
11978                                     }
11979                                   else
11980                                     {
11981                                       if (((word >> 0) & 0x1) == 0)
11982                                         {
11983                                           if (((word >> 1) & 0x1) == 0)
11984                                             {
11985                                               if (((word >> 21) & 0x1) == 0)
11986                                                 {
11987                                                   /* 33222222222211111111110000000000
11988                                                      10987654321098765432109876543210
11989                                                      11010100xx0xxxxxxxxxxxxxxxx0xx00
11990                                                      hlt.  */
11991                                                   return 753;
11992                                                 }
11993                                               else
11994                                                 {
11995                                                   /* 33222222222211111111110000000000
11996                                                      10987654321098765432109876543210
11997                                                      11010100xx1xxxxxxxxxxxxxxxx0xx00
11998                                                      brk.  */
11999                                                   return 752;
12000                                                 }
12001                                             }
12002                                           else
12003                                             {
12004                                               if (((word >> 21) & 0x1) == 0)
12005                                                 {
12006                                                   /* 33222222222211111111110000000000
12007                                                      10987654321098765432109876543210
12008                                                      11010100xx0xxxxxxxxxxxxxxxx0xx10
12009                                                      hvc.  */
12010                                                   return 750;
12011                                                 }
12012                                               else
12013                                                 {
12014                                                   /* 33222222222211111111110000000000
12015                                                      10987654321098765432109876543210
12016                                                      11010100xx1xxxxxxxxxxxxxxxx0xx10
12017                                                      dcps2.  */
12018                                                   return 755;
12019                                                 }
12020                                             }
12021                                         }
12022                                       else
12023                                         {
12024                                           if (((word >> 1) & 0x1) == 0)
12025                                             {
12026                                               if (((word >> 21) & 0x1) == 0)
12027                                                 {
12028                                                   /* 33222222222211111111110000000000
12029                                                      10987654321098765432109876543210
12030                                                      11010100xx0xxxxxxxxxxxxxxxx0xx01
12031                                                      svc.  */
12032                                                   return 749;
12033                                                 }
12034                                               else
12035                                                 {
12036                                                   /* 33222222222211111111110000000000
12037                                                      10987654321098765432109876543210
12038                                                      11010100xx1xxxxxxxxxxxxxxxx0xx01
12039                                                      dcps1.  */
12040                                                   return 754;
12041                                                 }
12042                                             }
12043                                           else
12044                                             {
12045                                               if (((word >> 21) & 0x1) == 0)
12046                                                 {
12047                                                   /* 33222222222211111111110000000000
12048                                                      10987654321098765432109876543210
12049                                                      11010100xx0xxxxxxxxxxxxxxxx0xx11
12050                                                      smc.  */
12051                                                   return 751;
12052                                                 }
12053                                               else
12054                                                 {
12055                                                   /* 33222222222211111111110000000000
12056                                                      10987654321098765432109876543210
12057                                                      11010100xx1xxxxxxxxxxxxxxxx0xx11
12058                                                      dcps3.  */
12059                                                   return 756;
12060                                                 }
12061                                             }
12062                                         }
12063                                     }
12064                                 }
12065                               else
12066                                 {
12067                                   if (((word >> 21) & 0x1) == 0)
12068                                     {
12069                                       if (((word >> 22) & 0x1) == 0)
12070                                         {
12071                                           if (((word >> 23) & 0x1) == 0)
12072                                             {
12073                                               /* 33222222222211111111110000000000
12074                                                  10987654321098765432109876543210
12075                                                  x1010110000xxxxxxxxxxxxxxxx0xxxx
12076                                                  br.  */
12077                                               return 638;
12078                                             }
12079                                           else
12080                                             {
12081                                               /* 33222222222211111111110000000000
12082                                                  10987654321098765432109876543210
12083                                                  x1010110100xxxxxxxxxxxxxxxx0xxxx
12084                                                  eret.  */
12085                                               return 641;
12086                                             }
12087                                         }
12088                                       else
12089                                         {
12090                                           /* 33222222222211111111110000000000
12091                                              10987654321098765432109876543210
12092                                              x1010110x10xxxxxxxxxxxxxxxx0xxxx
12093                                              ret.  */
12094                                           return 640;
12095                                         }
12096                                     }
12097                                   else
12098                                     {
12099                                       if (((word >> 23) & 0x1) == 0)
12100                                         {
12101                                           /* 33222222222211111111110000000000
12102                                              10987654321098765432109876543210
12103                                              x10101100x1xxxxxxxxxxxxxxxx0xxxx
12104                                              blr.  */
12105                                           return 639;
12106                                         }
12107                                       else
12108                                         {
12109                                           /* 33222222222211111111110000000000
12110                                              10987654321098765432109876543210
12111                                              x10101101x1xxxxxxxxxxxxxxxx0xxxx
12112                                              drps.  */
12113                                           return 642;
12114                                         }
12115                                     }
12116                                 }
12117                             }
12118                           else
12119                             {
12120                               if (((word >> 10) & 0x1) == 0)
12121                                 {
12122                                   if (((word >> 21) & 0x1) == 0)
12123                                     {
12124                                       if (((word >> 22) & 0x1) == 0)
12125                                         {
12126                                           if (((word >> 23) & 0x1) == 0)
12127                                             {
12128                                               /* 33222222222211111111110000000000
12129                                                  10987654321098765432109876543210
12130                                                  x10101x0000xxxxxxxxxx0xxxxx1xxxx
12131                                                  braaz.  */
12132                                               return 647;
12133                                             }
12134                                           else
12135                                             {
12136                                               /* 33222222222211111111110000000000
12137                                                  10987654321098765432109876543210
12138                                                  x10101x0100xxxxxxxxxx0xxxxx1xxxx
12139                                                  eretaa.  */
12140                                               return 653;
12141                                             }
12142                                         }
12143                                       else
12144                                         {
12145                                           /* 33222222222211111111110000000000
12146                                              10987654321098765432109876543210
12147                                              x10101x0x10xxxxxxxxxx0xxxxx1xxxx
12148                                              retaa.  */
12149                                           return 651;
12150                                         }
12151                                     }
12152                                   else
12153                                     {
12154                                       /* 33222222222211111111110000000000
12155                                          10987654321098765432109876543210
12156                                          x10101x0xx1xxxxxxxxxx0xxxxx1xxxx
12157                                          blraaz.  */
12158                                       return 649;
12159                                     }
12160                                 }
12161                               else
12162                                 {
12163                                   if (((word >> 21) & 0x1) == 0)
12164                                     {
12165                                       if (((word >> 22) & 0x1) == 0)
12166                                         {
12167                                           if (((word >> 23) & 0x1) == 0)
12168                                             {
12169                                               /* 33222222222211111111110000000000
12170                                                  10987654321098765432109876543210
12171                                                  x10101x0000xxxxxxxxxx1xxxxx1xxxx
12172                                                  brabz.  */
12173                                               return 648;
12174                                             }
12175                                           else
12176                                             {
12177                                               /* 33222222222211111111110000000000
12178                                                  10987654321098765432109876543210
12179                                                  x10101x0100xxxxxxxxxx1xxxxx1xxxx
12180                                                  eretab.  */
12181                                               return 654;
12182                                             }
12183                                         }
12184                                       else
12185                                         {
12186                                           /* 33222222222211111111110000000000
12187                                              10987654321098765432109876543210
12188                                              x10101x0x10xxxxxxxxxx1xxxxx1xxxx
12189                                              retab.  */
12190                                           return 652;
12191                                         }
12192                                     }
12193                                   else
12194                                     {
12195                                       /* 33222222222211111111110000000000
12196                                          10987654321098765432109876543210
12197                                          x10101x0xx1xxxxxxxxxx1xxxxx1xxxx
12198                                          blrabz.  */
12199                                       return 650;
12200                                     }
12201                                 }
12202                             }
12203                         }
12204                       else
12205                         {
12206                           if (((word >> 21) & 0x1) == 0)
12207                             {
12208                               if (((word >> 25) & 0x1) == 0)
12209                                 {
12210                                   /* 33222222222211111111110000000000
12211                                      10987654321098765432109876543210
12212                                      x1010101xx0xxxxxxxxxxxxxxxxxxxxx
12213                                      xaflag.  */
12214                                   return 810;
12215                                 }
12216                               else
12217                                 {
12218                                   if (((word >> 10) & 0x1) == 0)
12219                                     {
12220                                       /* 33222222222211111111110000000000
12221                                          10987654321098765432109876543210
12222                                          x1010111xx0xxxxxxxxxx0xxxxxxxxxx
12223                                          braa.  */
12224                                       return 643;
12225                                     }
12226                                   else
12227                                     {
12228                                       /* 33222222222211111111110000000000
12229                                          10987654321098765432109876543210
12230                                          x1010111xx0xxxxxxxxxx1xxxxxxxxxx
12231                                          brab.  */
12232                                       return 644;
12233                                     }
12234                                 }
12235                             }
12236                           else
12237                             {
12238                               if (((word >> 25) & 0x1) == 0)
12239                                 {
12240                                   /* 33222222222211111111110000000000
12241                                      10987654321098765432109876543210
12242                                      x1010101xx1xxxxxxxxxxxxxxxxxxxxx
12243                                      sysl.  */
12244                                   return 1220;
12245                                 }
12246                               else
12247                                 {
12248                                   if (((word >> 10) & 0x1) == 0)
12249                                     {
12250                                       /* 33222222222211111111110000000000
12251                                          10987654321098765432109876543210
12252                                          x1010111xx1xxxxxxxxxx0xxxxxxxxxx
12253                                          blraa.  */
12254                                       return 645;
12255                                     }
12256                                   else
12257                                     {
12258                                       /* 33222222222211111111110000000000
12259                                          10987654321098765432109876543210
12260                                          x1010111xx1xxxxxxxxxx1xxxxxxxxxx
12261                                          blrab.  */
12262                                       return 646;
12263                                     }
12264                                 }
12265                             }
12266                         }
12267                     }
12268                 }
12269               else
12270                 {
12271                   if (((word >> 24) & 0x1) == 0)
12272                     {
12273                       if (((word >> 25) & 0x1) == 0)
12274                         {
12275                           /* 33222222222211111111110000000000
12276                              10987654321098765432109876543210
12277                              xx110100xxxxxxxxxxxxxxxxxxxxxxxx
12278                              cbz.  */
12279                           return 655;
12280                         }
12281                       else
12282                         {
12283                           /* 33222222222211111111110000000000
12284                              10987654321098765432109876543210
12285                              xx110110xxxxxxxxxxxxxxxxxxxxxxxx
12286                              tbz.  */
12287                           return 1230;
12288                         }
12289                     }
12290                   else
12291                     {
12292                       if (((word >> 25) & 0x1) == 0)
12293                         {
12294                           /* 33222222222211111111110000000000
12295                              10987654321098765432109876543210
12296                              xx110101xxxxxxxxxxxxxxxxxxxxxxxx
12297                              cbnz.  */
12298                           return 656;
12299                         }
12300                       else
12301                         {
12302                           /* 33222222222211111111110000000000
12303                              10987654321098765432109876543210
12304                              xx110111xxxxxxxxxxxxxxxxxxxxxxxx
12305                              tbnz.  */
12306                           return 1231;
12307                         }
12308                     }
12309                 }
12310             }
12311         }
12312       else
12313         {
12314           if (((word >> 25) & 0x1) == 0)
12315             {
12316               if (((word >> 28) & 0x1) == 0)
12317                 {
12318                   if (((word >> 22) & 0x1) == 0)
12319                     {
12320                       if (((word >> 23) & 0x1) == 0)
12321                         {
12322                           if (((word >> 24) & 0x1) == 0)
12323                             {
12324                               if (((word >> 29) & 0x1) == 0)
12325                                 {
12326                                   /* 33222222222211111111110000000000
12327                                      10987654321098765432109876543210
12328                                      xx00110000xxxxxxxxxxxxxxxxxxxxxx
12329                                      st4.  */
12330                                   return 440;
12331                                 }
12332                               else
12333                                 {
12334                                   /* 33222222222211111111110000000000
12335                                      10987654321098765432109876543210
12336                                      xx10110000xxxxxxxxxxxxxxxxxxxxxx
12337                                      stnp.  */
12338                                   return 971;
12339                                 }
12340                             }
12341                           else
12342                             {
12343                               if (((word >> 29) & 0x1) == 0)
12344                                 {
12345                                   if (((word >> 13) & 0x1) == 0)
12346                                     {
12347                                       if (((word >> 21) & 0x1) == 0)
12348                                         {
12349                                           /* 33222222222211111111110000000000
12350                                              10987654321098765432109876543210
12351                                              xx001101000xxxxxxx0xxxxxxxxxxxxx
12352                                              st1.  */
12353                                           return 456;
12354                                         }
12355                                       else
12356                                         {
12357                                           /* 33222222222211111111110000000000
12358                                              10987654321098765432109876543210
12359                                              xx001101001xxxxxxx0xxxxxxxxxxxxx
12360                                              st2.  */
12361                                           return 458;
12362                                         }
12363                                     }
12364                                   else
12365                                     {
12366                                       if (((word >> 21) & 0x1) == 0)
12367                                         {
12368                                           /* 33222222222211111111110000000000
12369                                              10987654321098765432109876543210
12370                                              xx001101000xxxxxxx1xxxxxxxxxxxxx
12371                                              st3.  */
12372                                           return 457;
12373                                         }
12374                                       else
12375                                         {
12376                                           /* 33222222222211111111110000000000
12377                                              10987654321098765432109876543210
12378                                              xx001101001xxxxxxx1xxxxxxxxxxxxx
12379                                              st4.  */
12380                                           return 459;
12381                                         }
12382                                     }
12383                                 }
12384                               else
12385                                 {
12386                                   /* 33222222222211111111110000000000
12387                                      10987654321098765432109876543210
12388                                      xx10110100xxxxxxxxxxxxxxxxxxxxxx
12389                                      stp.  */
12390                                   return 975;
12391                                 }
12392                             }
12393                         }
12394                       else
12395                         {
12396                           if (((word >> 29) & 0x1) == 0)
12397                             {
12398                               if (((word >> 21) & 0x1) == 0)
12399                                 {
12400                                   if (((word >> 24) & 0x1) == 0)
12401                                     {
12402                                       /* 33222222222211111111110000000000
12403                                          10987654321098765432109876543210
12404                                          xx001100100xxxxxxxxxxxxxxxxxxxxx
12405                                          st4.  */
12406                                       return 448;
12407                                     }
12408                                   else
12409                                     {
12410                                       if (((word >> 13) & 0x1) == 0)
12411                                         {
12412                                           /* 33222222222211111111110000000000
12413                                              10987654321098765432109876543210
12414                                              xx001101100xxxxxxx0xxxxxxxxxxxxx
12415                                              st1.  */
12416                                           return 468;
12417                                         }
12418                                       else
12419                                         {
12420                                           /* 33222222222211111111110000000000
12421                                              10987654321098765432109876543210
12422                                              xx001101100xxxxxxx1xxxxxxxxxxxxx
12423                                              st3.  */
12424                                           return 469;
12425                                         }
12426                                     }
12427                                 }
12428                               else
12429                                 {
12430                                   if (((word >> 13) & 0x1) == 0)
12431                                     {
12432                                       /* 33222222222211111111110000000000
12433                                          10987654321098765432109876543210
12434                                          xx00110x101xxxxxxx0xxxxxxxxxxxxx
12435                                          st2.  */
12436                                       return 470;
12437                                     }
12438                                   else
12439                                     {
12440                                       /* 33222222222211111111110000000000
12441                                          10987654321098765432109876543210
12442                                          xx00110x101xxxxxxx1xxxxxxxxxxxxx
12443                                          st4.  */
12444                                       return 471;
12445                                     }
12446                                 }
12447                             }
12448                           else
12449                             {
12450                               /* 33222222222211111111110000000000
12451                                  10987654321098765432109876543210
12452                                  xx10110x10xxxxxxxxxxxxxxxxxxxxxx
12453                                  stp.  */
12454                               return 981;
12455                             }
12456                         }
12457                     }
12458                   else
12459                     {
12460                       if (((word >> 23) & 0x1) == 0)
12461                         {
12462                           if (((word >> 24) & 0x1) == 0)
12463                             {
12464                               if (((word >> 29) & 0x1) == 0)
12465                                 {
12466                                   /* 33222222222211111111110000000000
12467                                      10987654321098765432109876543210
12468                                      xx00110001xxxxxxxxxxxxxxxxxxxxxx
12469                                      ld4.  */
12470                                   return 444;
12471                                 }
12472                               else
12473                                 {
12474                                   /* 33222222222211111111110000000000
12475                                      10987654321098765432109876543210
12476                                      xx10110001xxxxxxxxxxxxxxxxxxxxxx
12477                                      ldnp.  */
12478                                   return 972;
12479                                 }
12480                             }
12481                           else
12482                             {
12483                               if (((word >> 29) & 0x1) == 0)
12484                                 {
12485                                   if (((word >> 13) & 0x1) == 0)
12486                                     {
12487                                       if (((word >> 21) & 0x1) == 0)
12488                                         {
12489                                           /* 33222222222211111111110000000000
12490                                              10987654321098765432109876543210
12491                                              xx001101010xxxxxxx0xxxxxxxxxxxxx
12492                                              ld1.  */
12493                                           return 460;
12494                                         }
12495                                       else
12496                                         {
12497                                           /* 33222222222211111111110000000000
12498                                              10987654321098765432109876543210
12499                                              xx001101011xxxxxxx0xxxxxxxxxxxxx
12500                                              ld2.  */
12501                                           return 464;
12502                                         }
12503                                     }
12504                                   else
12505                                     {
12506                                       if (((word >> 21) & 0x1) == 0)
12507                                         {
12508                                           /* 33222222222211111111110000000000
12509                                              10987654321098765432109876543210
12510                                              xx001101010xxxxxxx1xxxxxxxxxxxxx
12511                                              ld3.  */
12512                                           return 461;
12513                                         }
12514                                       else
12515                                         {
12516                                           /* 33222222222211111111110000000000
12517                                              10987654321098765432109876543210
12518                                              xx001101011xxxxxxx1xxxxxxxxxxxxx
12519                                              ld4.  */
12520                                           return 465;
12521                                         }
12522                                     }
12523                                 }
12524                               else
12525                                 {
12526                                   /* 33222222222211111111110000000000
12527                                      10987654321098765432109876543210
12528                                      xx10110101xxxxxxxxxxxxxxxxxxxxxx
12529                                      ldp.  */
12530                                   return 976;
12531                                 }
12532                             }
12533                         }
12534                       else
12535                         {
12536                           if (((word >> 29) & 0x1) == 0)
12537                             {
12538                               if (((word >> 21) & 0x1) == 0)
12539                                 {
12540                                   if (((word >> 24) & 0x1) == 0)
12541                                     {
12542                                       /* 33222222222211111111110000000000
12543                                          10987654321098765432109876543210
12544                                          xx001100110xxxxxxxxxxxxxxxxxxxxx
12545                                          ld4.  */
12546                                       return 452;
12547                                     }
12548                                   else
12549                                     {
12550                                       if (((word >> 13) & 0x1) == 0)
12551                                         {
12552                                           /* 33222222222211111111110000000000
12553                                              10987654321098765432109876543210
12554                                              xx001101110xxxxxxx0xxxxxxxxxxxxx
12555                                              ld1.  */
12556                                           return 472;
12557                                         }
12558                                       else
12559                                         {
12560                                           /* 33222222222211111111110000000000
12561                                              10987654321098765432109876543210
12562                                              xx001101110xxxxxxx1xxxxxxxxxxxxx
12563                                              ld3.  */
12564                                           return 473;
12565                                         }
12566                                     }
12567                                 }
12568                               else
12569                                 {
12570                                   if (((word >> 13) & 0x1) == 0)
12571                                     {
12572                                       /* 33222222222211111111110000000000
12573                                          10987654321098765432109876543210
12574                                          xx00110x111xxxxxxx0xxxxxxxxxxxxx
12575                                          ld2.  */
12576                                       return 476;
12577                                     }
12578                                   else
12579                                     {
12580                                       /* 33222222222211111111110000000000
12581                                          10987654321098765432109876543210
12582                                          xx00110x111xxxxxxx1xxxxxxxxxxxxx
12583                                          ld4.  */
12584                                       return 477;
12585                                     }
12586                                 }
12587                             }
12588                           else
12589                             {
12590                               /* 33222222222211111111110000000000
12591                                  10987654321098765432109876543210
12592                                  xx10110x11xxxxxxxxxxxxxxxxxxxxxx
12593                                  ldp.  */
12594                               return 982;
12595                             }
12596                         }
12597                     }
12598                 }
12599               else
12600                 {
12601                   if (((word >> 24) & 0x1) == 0)
12602                     {
12603                       if (((word >> 29) & 0x1) == 0)
12604                         {
12605                           /* 33222222222211111111110000000000
12606                              10987654321098765432109876543210
12607                              xx011100xxxxxxxxxxxxxxxxxxxxxxxx
12608                              ldr.  */
12609                           return 986;
12610                         }
12611                       else
12612                         {
12613                           if (((word >> 10) & 0x1) == 0)
12614                             {
12615                               if (((word >> 11) & 0x1) == 0)
12616                                 {
12617                                   if (((word >> 22) & 0x1) == 0)
12618                                     {
12619                                       /* 33222222222211111111110000000000
12620                                          10987654321098765432109876543210
12621                                          xx111100x0xxxxxxxxxx00xxxxxxxxxx
12622                                          stur.  */
12623                                       return 924;
12624                                     }
12625                                   else
12626                                     {
12627                                       /* 33222222222211111111110000000000
12628                                          10987654321098765432109876543210
12629                                          xx111100x1xxxxxxxxxx00xxxxxxxxxx
12630                                          ldur.  */
12631                                       return 925;
12632                                     }
12633                                 }
12634                               else
12635                                 {
12636                                   if (((word >> 22) & 0x1) == 0)
12637                                     {
12638                                       /* 33222222222211111111110000000000
12639                                          10987654321098765432109876543210
12640                                          xx111100x0xxxxxxxxxx10xxxxxxxxxx
12641                                          str.  */
12642                                       return 903;
12643                                     }
12644                                   else
12645                                     {
12646                                       /* 33222222222211111111110000000000
12647                                          10987654321098765432109876543210
12648                                          xx111100x1xxxxxxxxxx10xxxxxxxxxx
12649                                          ldr.  */
12650                                       return 904;
12651                                     }
12652                                 }
12653                             }
12654                           else
12655                             {
12656                               if (((word >> 22) & 0x1) == 0)
12657                                 {
12658                                   /* 33222222222211111111110000000000
12659                                      10987654321098765432109876543210
12660                                      xx111100x0xxxxxxxxxxx1xxxxxxxxxx
12661                                      str.  */
12662                                   return 872;
12663                                 }
12664                               else
12665                                 {
12666                                   /* 33222222222211111111110000000000
12667                                      10987654321098765432109876543210
12668                                      xx111100x1xxxxxxxxxxx1xxxxxxxxxx
12669                                      ldr.  */
12670                                   return 873;
12671                                 }
12672                             }
12673                         }
12674                     }
12675                   else
12676                     {
12677                       if (((word >> 22) & 0x1) == 0)
12678                         {
12679                           /* 33222222222211111111110000000000
12680                              10987654321098765432109876543210
12681                              xxx11101x0xxxxxxxxxxxxxxxxxxxxxx
12682                              str.  */
12683                           return 891;
12684                         }
12685                       else
12686                         {
12687                           /* 33222222222211111111110000000000
12688                              10987654321098765432109876543210
12689                              xxx11101x1xxxxxxxxxxxxxxxxxxxxxx
12690                              ldr.  */
12691                           return 892;
12692                         }
12693                     }
12694                 }
12695             }
12696           else
12697             {
12698               if (((word >> 24) & 0x1) == 0)
12699                 {
12700                   if (((word >> 21) & 0x1) == 0)
12701                     {
12702                       if (((word >> 28) & 0x1) == 0)
12703                         {
12704                           if (((word >> 29) & 0x1) == 0)
12705                             {
12706                               if (((word >> 31) & 0x1) == 0)
12707                                 {
12708                                   if (((word >> 10) & 0x1) == 0)
12709                                     {
12710                                       if (((word >> 11) & 0x1) == 0)
12711                                         {
12712                                           if (((word >> 12) & 0x1) == 0)
12713                                             {
12714                                               /* 33222222222211111111110000000000
12715                                                  10987654321098765432109876543210
12716                                                  0x001110xx0xxxxxxxx000xxxxxxxxxx
12717                                                  tbl.  */
12718                                               return 420;
12719                                             }
12720                                           else
12721                                             {
12722                                               /* 33222222222211111111110000000000
12723                                                  10987654321098765432109876543210
12724                                                  0x001110xx0xxxxxxxx100xxxxxxxxxx
12725                                                  tbx.  */
12726                                               return 421;
12727                                             }
12728                                         }
12729                                       else
12730                                         {
12731                                           if (((word >> 12) & 0x1) == 0)
12732                                             {
12733                                               if (((word >> 14) & 0x1) == 0)
12734                                                 {
12735                                                   /* 33222222222211111111110000000000
12736                                                      10987654321098765432109876543210
12737                                                      0x001110xx0xxxxxx0x010xxxxxxxxxx
12738                                                      trn1.  */
12739                                                   return 263;
12740                                                 }
12741                                               else
12742                                                 {
12743                                                   /* 33222222222211111111110000000000
12744                                                      10987654321098765432109876543210
12745                                                      0x001110xx0xxxxxx1x010xxxxxxxxxx
12746                                                      trn2.  */
12747                                                   return 266;
12748                                                 }
12749                                             }
12750                                           else
12751                                             {
12752                                               if (((word >> 13) & 0x1) == 0)
12753                                                 {
12754                                                   if (((word >> 14) & 0x1) == 0)
12755                                                     {
12756                                                       /* 33222222222211111111110000000000
12757                                                          10987654321098765432109876543210
12758                                                          0x001110xx0xxxxxx00110xxxxxxxxxx
12759                                                          uzp1.  */
12760                                                       return 262;
12761                                                     }
12762                                                   else
12763                                                     {
12764                                                       /* 33222222222211111111110000000000
12765                                                          10987654321098765432109876543210
12766                                                          0x001110xx0xxxxxx10110xxxxxxxxxx
12767                                                          uzp2.  */
12768                                                       return 265;
12769                                                     }
12770                                                 }
12771                                               else
12772                                                 {
12773                                                   if (((word >> 14) & 0x1) == 0)
12774                                                     {
12775                                                       /* 33222222222211111111110000000000
12776                                                          10987654321098765432109876543210
12777                                                          0x001110xx0xxxxxx01110xxxxxxxxxx
12778                                                          zip1.  */
12779                                                       return 264;
12780                                                     }
12781                                                   else
12782                                                     {
12783                                                       /* 33222222222211111111110000000000
12784                                                          10987654321098765432109876543210
12785                                                          0x001110xx0xxxxxx11110xxxxxxxxxx
12786                                                          zip2.  */
12787                                                       return 267;
12788                                                     }
12789                                                 }
12790                                             }
12791                                         }
12792                                     }
12793                                   else
12794                                     {
12795                                       if (((word >> 11) & 0x1) == 0)
12796                                         {
12797                                           if (((word >> 12) & 0x1) == 0)
12798                                             {
12799                                               if (((word >> 13) & 0x1) == 0)
12800                                                 {
12801                                                   if (((word >> 22) & 0x1) == 0)
12802                                                     {
12803                                                       /* 33222222222211111111110000000000
12804                                                          10987654321098765432109876543210
12805                                                          0x001110x00xxxxxxx0001xxxxxxxxxx
12806                                                          dup.  */
12807                                                       return 149;
12808                                                     }
12809                                                   else
12810                                                     {
12811                                                       if (((word >> 23) & 0x1) == 0)
12812                                                         {
12813                                                           /* 33222222222211111111110000000000
12814                                                              10987654321098765432109876543210
12815                                                              0x001110010xxxxxxx0001xxxxxxxxxx
12816                                                              fmaxnm.  */
12817                                                           return 292;
12818                                                         }
12819                                                       else
12820                                                         {
12821                                                           /* 33222222222211111111110000000000
12822                                                              10987654321098765432109876543210
12823                                                              0x001110110xxxxxxx0001xxxxxxxxxx
12824                                                              fminnm.  */
12825                                                           return 308;
12826                                                         }
12827                                                     }
12828                                                 }
12829                                               else
12830                                                 {
12831                                                   /* 33222222222211111111110000000000
12832                                                      10987654321098765432109876543210
12833                                                      0x001110xx0xxxxxxx1001xxxxxxxxxx
12834                                                      fcmeq.  */
12835                                                   return 300;
12836                                                 }
12837                                             }
12838                                           else
12839                                             {
12840                                               if (((word >> 13) & 0x1) == 0)
12841                                                 {
12842                                                   if (((word >> 15) & 0x1) == 0)
12843                                                     {
12844                                                       if (((word >> 23) & 0x1) == 0)
12845                                                         {
12846                                                           /* 33222222222211111111110000000000
12847                                                              10987654321098765432109876543210
12848                                                              0x0011100x0xxxxx0x0101xxxxxxxxxx
12849                                                              fadd.  */
12850                                                           return 296;
12851                                                         }
12852                                                       else
12853                                                         {
12854                                                           /* 33222222222211111111110000000000
12855                                                              10987654321098765432109876543210
12856                                                              0x0011101x0xxxxx0x0101xxxxxxxxxx
12857                                                              fsub.  */
12858                                                           return 312;
12859                                                         }
12860                                                     }
12861                                                   else
12862                                                     {
12863                                                       /* 33222222222211111111110000000000
12864                                                          10987654321098765432109876543210
12865                                                          0x001110xx0xxxxx1x0101xxxxxxxxxx
12866                                                          sdot.  */
12867                                                       return 2041;
12868                                                     }
12869                                                 }
12870                                               else
12871                                                 {
12872                                                   if (((word >> 23) & 0x1) == 0)
12873                                                     {
12874                                                       /* 33222222222211111111110000000000
12875                                                          10987654321098765432109876543210
12876                                                          0x0011100x0xxxxxxx1101xxxxxxxxxx
12877                                                          fmax.  */
12878                                                       return 302;
12879                                                     }
12880                                                   else
12881                                                     {
12882                                                       /* 33222222222211111111110000000000
12883                                                          10987654321098765432109876543210
12884                                                          0x0011101x0xxxxxxx1101xxxxxxxxxx
12885                                                          fmin.  */
12886                                                       return 314;
12887                                                     }
12888                                                 }
12889                                             }
12890                                         }
12891                                       else
12892                                         {
12893                                           if (((word >> 12) & 0x1) == 0)
12894                                             {
12895                                               if (((word >> 13) & 0x1) == 0)
12896                                                 {
12897                                                   if (((word >> 22) & 0x1) == 0)
12898                                                     {
12899                                                       /* 33222222222211111111110000000000
12900                                                          10987654321098765432109876543210
12901                                                          0x001110x00xxxxxxx0011xxxxxxxxxx
12902                                                          dup.  */
12903                                                       return 150;
12904                                                     }
12905                                                   else
12906                                                     {
12907                                                       if (((word >> 23) & 0x1) == 0)
12908                                                         {
12909                                                           /* 33222222222211111111110000000000
12910                                                              10987654321098765432109876543210
12911                                                              0x001110010xxxxxxx0011xxxxxxxxxx
12912                                                              fmla.  */
12913                                                           return 294;
12914                                                         }
12915                                                       else
12916                                                         {
12917                                                           /* 33222222222211111111110000000000
12918                                                              10987654321098765432109876543210
12919                                                              0x001110110xxxxxxx0011xxxxxxxxxx
12920                                                              fmls.  */
12921                                                           return 310;
12922                                                         }
12923                                                     }
12924                                                 }
12925                                               else
12926                                                 {
12927                                                   /* 33222222222211111111110000000000
12928                                                      10987654321098765432109876543210
12929                                                      0x001110xx0xxxxxxx1011xxxxxxxxxx
12930                                                      smov.  */
12931                                                   return 151;
12932                                                 }
12933                                             }
12934                                           else
12935                                             {
12936                                               if (((word >> 13) & 0x1) == 0)
12937                                                 {
12938                                                   if (((word >> 22) & 0x1) == 0)
12939                                                     {
12940                                                       /* 33222222222211111111110000000000
12941                                                          10987654321098765432109876543210
12942                                                          0x001110x00xxxxxxx0111xxxxxxxxxx
12943                                                          ins.  */
12944                                                       return 154;
12945                                                     }
12946                                                   else
12947                                                     {
12948                                                       /* 33222222222211111111110000000000
12949                                                          10987654321098765432109876543210
12950                                                          0x001110x10xxxxxxx0111xxxxxxxxxx
12951                                                          fmulx.  */
12952                                                       return 298;
12953                                                     }
12954                                                 }
12955                                               else
12956                                                 {
12957                                                   if (((word >> 22) & 0x1) == 0)
12958                                                     {
12959                                                       /* 33222222222211111111110000000000
12960                                                          10987654321098765432109876543210
12961                                                          0x001110x00xxxxxxx1111xxxxxxxxxx
12962                                                          umov.  */
12963                                                       return 152;
12964                                                     }
12965                                                   else
12966                                                     {
12967                                                       if (((word >> 23) & 0x1) == 0)
12968                                                         {
12969                                                           /* 33222222222211111111110000000000
12970                                                              10987654321098765432109876543210
12971                                                              0x001110010xxxxxxx1111xxxxxxxxxx
12972                                                              frecps.  */
12973                                                           return 304;
12974                                                         }
12975                                                       else
12976                                                         {
12977                                                           /* 33222222222211111111110000000000
12978                                                              10987654321098765432109876543210
12979                                                              0x001110110xxxxxxx1111xxxxxxxxxx
12980                                                              frsqrts.  */
12981                                                           return 316;
12982                                                         }
12983                                                     }
12984                                                 }
12985                                             }
12986                                         }
12987                                     }
12988                                 }
12989                               else
12990                                 {
12991                                   if (((word >> 22) & 0x1) == 0)
12992                                     {
12993                                       if (((word >> 23) & 0x1) == 0)
12994                                         {
12995                                           /* 33222222222211111111110000000000
12996                                              10987654321098765432109876543210
12997                                              1x001110000xxxxxxxxxxxxxxxxxxxxx
12998                                              eor3.  */
12999                                           return 2048;
13000                                         }
13001                                       else
13002                                         {
13003                                           /* 33222222222211111111110000000000
13004                                              10987654321098765432109876543210
13005                                              1x001110100xxxxxxxxxxxxxxxxxxxxx
13006                                              xar.  */
13007                                           return 2050;
13008                                         }
13009                                     }
13010                                   else
13011                                     {
13012                                       if (((word >> 15) & 0x1) == 0)
13013                                         {
13014                                           /* 33222222222211111111110000000000
13015                                              10987654321098765432109876543210
13016                                              1x001110x10xxxxx0xxxxxxxxxxxxxxx
13017                                              sm3ss1.  */
13018                                           return 2052;
13019                                         }
13020                                       else
13021                                         {
13022                                           if (((word >> 10) & 0x1) == 0)
13023                                             {
13024                                               if (((word >> 11) & 0x1) == 0)
13025                                                 {
13026                                                   if (((word >> 23) & 0x1) == 0)
13027                                                     {
13028                                                       /* 33222222222211111111110000000000
13029                                                          10987654321098765432109876543210
13030                                                          1x001110010xxxxx1xxx00xxxxxxxxxx
13031                                                          sm3tt1a.  */
13032                                                       return 2053;
13033                                                     }
13034                                                   else
13035                                                     {
13036                                                       /* 33222222222211111111110000000000
13037                                                          10987654321098765432109876543210
13038                                                          1x001110110xxxxx1xxx00xxxxxxxxxx
13039                                                          sha512su0.  */
13040                                                       return 2046;
13041                                                     }
13042                                                 }
13043                                               else
13044                                                 {
13045                                                   /* 33222222222211111111110000000000
13046                                                      10987654321098765432109876543210
13047                                                      1x001110x10xxxxx1xxx10xxxxxxxxxx
13048                                                      sm3tt2a.  */
13049                                                   return 2055;
13050                                                 }
13051                                             }
13052                                           else
13053                                             {
13054                                               if (((word >> 11) & 0x1) == 0)
13055                                                 {
13056                                                   if (((word >> 23) & 0x1) == 0)
13057                                                     {
13058                                                       /* 33222222222211111111110000000000
13059                                                          10987654321098765432109876543210
13060                                                          1x001110010xxxxx1xxx01xxxxxxxxxx
13061                                                          sm3tt1b.  */
13062                                                       return 2054;
13063                                                     }
13064                                                   else
13065                                                     {
13066                                                       /* 33222222222211111111110000000000
13067                                                          10987654321098765432109876543210
13068                                                          1x001110110xxxxx1xxx01xxxxxxxxxx
13069                                                          sm4e.  */
13070                                                       return 2059;
13071                                                     }
13072                                                 }
13073                                               else
13074                                                 {
13075                                                   /* 33222222222211111111110000000000
13076                                                      10987654321098765432109876543210
13077                                                      1x001110x10xxxxx1xxx11xxxxxxxxxx
13078                                                      sm3tt2b.  */
13079                                                   return 2056;
13080                                                 }
13081                                             }
13082                                         }
13083                                     }
13084                                 }
13085                             }
13086                           else
13087                             {
13088                               if (((word >> 10) & 0x1) == 0)
13089                                 {
13090                                   /* 33222222222211111111110000000000
13091                                      10987654321098765432109876543210
13092                                      xx101110xx0xxxxxxxxxx0xxxxxxxxxx
13093                                      ext.  */
13094                                   return 132;
13095                                 }
13096                               else
13097                                 {
13098                                   if (((word >> 15) & 0x1) == 0)
13099                                     {
13100                                       if (((word >> 22) & 0x1) == 0)
13101                                         {
13102                                           /* 33222222222211111111110000000000
13103                                              10987654321098765432109876543210
13104                                              xx101110x00xxxxx0xxxx1xxxxxxxxxx
13105                                              ins.  */
13106                                           return 156;
13107                                         }
13108                                       else
13109                                         {
13110                                           if (((word >> 11) & 0x1) == 0)
13111                                             {
13112                                               if (((word >> 12) & 0x1) == 0)
13113                                                 {
13114                                                   if (((word >> 13) & 0x1) == 0)
13115                                                     {
13116                                                       if (((word >> 23) & 0x1) == 0)
13117                                                         {
13118                                                           /* 33222222222211111111110000000000
13119                                                              10987654321098765432109876543210
13120                                                              xx101110010xxxxx0x0001xxxxxxxxxx
13121                                                              fmaxnmp.  */
13122                                                           return 343;
13123                                                         }
13124                                                       else
13125                                                         {
13126                                                           /* 33222222222211111111110000000000
13127                                                              10987654321098765432109876543210
13128                                                              xx101110110xxxxx0x0001xxxxxxxxxx
13129                                                              fminnmp.  */
13130                                                           return 359;
13131                                                         }
13132                                                     }
13133                                                   else
13134                                                     {
13135                                                       if (((word >> 23) & 0x1) == 0)
13136                                                         {
13137                                                           /* 33222222222211111111110000000000
13138                                                              10987654321098765432109876543210
13139                                                              xx101110010xxxxx0x1001xxxxxxxxxx
13140                                                              fcmge.  */
13141                                                           return 349;
13142                                                         }
13143                                                       else
13144                                                         {
13145                                                           /* 33222222222211111111110000000000
13146                                                              10987654321098765432109876543210
13147                                                              xx101110110xxxxx0x1001xxxxxxxxxx
13148                                                              fcmgt.  */
13149                                                           return 363;
13150                                                         }
13151                                                     }
13152                                                 }
13153                                               else
13154                                                 {
13155                                                   if (((word >> 13) & 0x1) == 0)
13156                                                     {
13157                                                       if (((word >> 23) & 0x1) == 0)
13158                                                         {
13159                                                           /* 33222222222211111111110000000000
13160                                                              10987654321098765432109876543210
13161                                                              xx101110010xxxxx0x0101xxxxxxxxxx
13162                                                              faddp.  */
13163                                                           return 345;
13164                                                         }
13165                                                       else
13166                                                         {
13167                                                           /* 33222222222211111111110000000000
13168                                                              10987654321098765432109876543210
13169                                                              xx101110110xxxxx0x0101xxxxxxxxxx
13170                                                              fabd.  */
13171                                                           return 361;
13172                                                         }
13173                                                     }
13174                                                   else
13175                                                     {
13176                                                       if (((word >> 23) & 0x1) == 0)
13177                                                         {
13178                                                           /* 33222222222211111111110000000000
13179                                                              10987654321098765432109876543210
13180                                                              xx101110010xxxxx0x1101xxxxxxxxxx
13181                                                              fmaxp.  */
13182                                                           return 353;
13183                                                         }
13184                                                       else
13185                                                         {
13186                                                           /* 33222222222211111111110000000000
13187                                                              10987654321098765432109876543210
13188                                                              xx101110110xxxxx0x1101xxxxxxxxxx
13189                                                              fminp.  */
13190                                                           return 367;
13191                                                         }
13192                                                     }
13193                                                 }
13194                                             }
13195                                           else
13196                                             {
13197                                               if (((word >> 12) & 0x1) == 0)
13198                                                 {
13199                                                   if (((word >> 23) & 0x1) == 0)
13200                                                     {
13201                                                       /* 33222222222211111111110000000000
13202                                                          10987654321098765432109876543210
13203                                                          xx101110010xxxxx0xx011xxxxxxxxxx
13204                                                          facge.  */
13205                                                       return 351;
13206                                                     }
13207                                                   else
13208                                                     {
13209                                                       /* 33222222222211111111110000000000
13210                                                          10987654321098765432109876543210
13211                                                          xx101110110xxxxx0xx011xxxxxxxxxx
13212                                                          facgt.  */
13213                                                       return 365;
13214                                                     }
13215                                                 }
13216                                               else
13217                                                 {
13218                                                   if (((word >> 13) & 0x1) == 0)
13219                                                     {
13220                                                       /* 33222222222211111111110000000000
13221                                                          10987654321098765432109876543210
13222                                                          xx101110x10xxxxx0x0111xxxxxxxxxx
13223                                                          fmul.  */
13224                                                       return 347;
13225                                                     }
13226                                                   else
13227                                                     {
13228                                                       /* 33222222222211111111110000000000
13229                                                          10987654321098765432109876543210
13230                                                          xx101110x10xxxxx0x1111xxxxxxxxxx
13231                                                          fdiv.  */
13232                                                       return 355;
13233                                                     }
13234                                                 }
13235                                             }
13236                                         }
13237                                     }
13238                                   else
13239                                     {
13240                                       if (((word >> 13) & 0x1) == 0)
13241                                         {
13242                                           if (((word >> 14) & 0x1) == 0)
13243                                             {
13244                                               if (((word >> 11) & 0x1) == 0)
13245                                                 {
13246                                                   if (((word >> 12) & 0x1) == 0)
13247                                                     {
13248                                                       /* 33222222222211111111110000000000
13249                                                          10987654321098765432109876543210
13250                                                          xx101110xx0xxxxx100001xxxxxxxxxx
13251                                                          sqrdmlah.  */
13252                                                       return 370;
13253                                                     }
13254                                                   else
13255                                                     {
13256                                                       /* 33222222222211111111110000000000
13257                                                          10987654321098765432109876543210
13258                                                          xx101110xx0xxxxx100101xxxxxxxxxx
13259                                                          udot.  */
13260                                                       return 2040;
13261                                                     }
13262                                                 }
13263                                               else
13264                                                 {
13265                                                   /* 33222222222211111111110000000000
13266                                                      10987654321098765432109876543210
13267                                                      xx101110xx0xxxxx100x11xxxxxxxxxx
13268                                                      sqrdmlsh.  */
13269                                                   return 371;
13270                                                 }
13271                                             }
13272                                           else
13273                                             {
13274                                               /* 33222222222211111111110000000000
13275                                                  10987654321098765432109876543210
13276                                                  xx101110xx0xxxxx110xx1xxxxxxxxxx
13277                                                  fcmla.  */
13278                                               return 372;
13279                                             }
13280                                         }
13281                                       else
13282                                         {
13283                                           /* 33222222222211111111110000000000
13284                                              10987654321098765432109876543210
13285                                              xx101110xx0xxxxx1x1xx1xxxxxxxxxx
13286                                              fcadd.  */
13287                                           return 373;
13288                                         }
13289                                     }
13290                                 }
13291                             }
13292                         }
13293                       else
13294                         {
13295                           if (((word >> 29) & 0x1) == 0)
13296                             {
13297                               if (((word >> 30) & 0x1) == 0)
13298                                 {
13299                                   if (((word >> 16) & 0x1) == 0)
13300                                     {
13301                                       if (((word >> 17) & 0x1) == 0)
13302                                         {
13303                                           /* 33222222222211111111110000000000
13304                                              10987654321098765432109876543210
13305                                              x0011110xx0xxx00xxxxxxxxxxxxxxxx
13306                                              fcvtzs.  */
13307                                           return 763;
13308                                         }
13309                                       else
13310                                         {
13311                                           /* 33222222222211111111110000000000
13312                                              10987654321098765432109876543210
13313                                              x0011110xx0xxx10xxxxxxxxxxxxxxxx
13314                                              scvtf.  */
13315                                           return 759;
13316                                         }
13317                                     }
13318                                   else
13319                                     {
13320                                       if (((word >> 17) & 0x1) == 0)
13321                                         {
13322                                           /* 33222222222211111111110000000000
13323                                              10987654321098765432109876543210
13324                                              x0011110xx0xxx01xxxxxxxxxxxxxxxx
13325                                              fcvtzu.  */
13326                                           return 765;
13327                                         }
13328                                       else
13329                                         {
13330                                           /* 33222222222211111111110000000000
13331                                              10987654321098765432109876543210
13332                                              x0011110xx0xxx11xxxxxxxxxxxxxxxx
13333                                              ucvtf.  */
13334                                           return 761;
13335                                         }
13336                                     }
13337                                 }
13338                               else
13339                                 {
13340                                   if (((word >> 10) & 0x1) == 0)
13341                                     {
13342                                       if (((word >> 12) & 0x1) == 0)
13343                                         {
13344                                           if (((word >> 13) & 0x1) == 0)
13345                                             {
13346                                               if (((word >> 14) & 0x1) == 0)
13347                                                 {
13348                                                   /* 33222222222211111111110000000000
13349                                                      10987654321098765432109876543210
13350                                                      x1011110xx0xxxxxx000x0xxxxxxxxxx
13351                                                      sha1c.  */
13352                                                   return 678;
13353                                                 }
13354                                               else
13355                                                 {
13356                                                   /* 33222222222211111111110000000000
13357                                                      10987654321098765432109876543210
13358                                                      x1011110xx0xxxxxx100x0xxxxxxxxxx
13359                                                      sha256h.  */
13360                                                   return 682;
13361                                                 }
13362                                             }
13363                                           else
13364                                             {
13365                                               if (((word >> 14) & 0x1) == 0)
13366                                                 {
13367                                                   /* 33222222222211111111110000000000
13368                                                      10987654321098765432109876543210
13369                                                      x1011110xx0xxxxxx010x0xxxxxxxxxx
13370                                                      sha1m.  */
13371                                                   return 680;
13372                                                 }
13373                                               else
13374                                                 {
13375                                                   /* 33222222222211111111110000000000
13376                                                      10987654321098765432109876543210
13377                                                      x1011110xx0xxxxxx110x0xxxxxxxxxx
13378                                                      sha256su1.  */
13379                                                   return 684;
13380                                                 }
13381                                             }
13382                                         }
13383                                       else
13384                                         {
13385                                           if (((word >> 13) & 0x1) == 0)
13386                                             {
13387                                               if (((word >> 14) & 0x1) == 0)
13388                                                 {
13389                                                   /* 33222222222211111111110000000000
13390                                                      10987654321098765432109876543210
13391                                                      x1011110xx0xxxxxx001x0xxxxxxxxxx
13392                                                      sha1p.  */
13393                                                   return 679;
13394                                                 }
13395                                               else
13396                                                 {
13397                                                   /* 33222222222211111111110000000000
13398                                                      10987654321098765432109876543210
13399                                                      x1011110xx0xxxxxx101x0xxxxxxxxxx
13400                                                      sha256h2.  */
13401                                                   return 683;
13402                                                 }
13403                                             }
13404                                           else
13405                                             {
13406                                               /* 33222222222211111111110000000000
13407                                                  10987654321098765432109876543210
13408                                                  x1011110xx0xxxxxxx11x0xxxxxxxxxx
13409                                                  sha1su0.  */
13410                                               return 681;
13411                                             }
13412                                         }
13413                                     }
13414                                   else
13415                                     {
13416                                       if (((word >> 11) & 0x1) == 0)
13417                                         {
13418                                           if (((word >> 13) & 0x1) == 0)
13419                                             {
13420                                               /* 33222222222211111111110000000000
13421                                                  10987654321098765432109876543210
13422                                                  x1011110xx0xxxxxxx0x01xxxxxxxxxx
13423                                                  dup.  */
13424                                               return 535;
13425                                             }
13426                                           else
13427                                             {
13428                                               /* 33222222222211111111110000000000
13429                                                  10987654321098765432109876543210
13430                                                  x1011110xx0xxxxxxx1x01xxxxxxxxxx
13431                                                  fcmeq.  */
13432                                               return 556;
13433                                             }
13434                                         }
13435                                       else
13436                                         {
13437                                           if (((word >> 13) & 0x1) == 0)
13438                                             {
13439                                               /* 33222222222211111111110000000000
13440                                                  10987654321098765432109876543210
13441                                                  x1011110xx0xxxxxxx0x11xxxxxxxxxx
13442                                                  fmulx.  */
13443                                               return 554;
13444                                             }
13445                                           else
13446                                             {
13447                                               if (((word >> 23) & 0x1) == 0)
13448                                                 {
13449                                                   /* 33222222222211111111110000000000
13450                                                      10987654321098765432109876543210
13451                                                      x10111100x0xxxxxxx1x11xxxxxxxxxx
13452                                                      frecps.  */
13453                                                   return 558;
13454                                                 }
13455                                               else
13456                                                 {
13457                                                   /* 33222222222211111111110000000000
13458                                                      10987654321098765432109876543210
13459                                                      x10111101x0xxxxxxx1x11xxxxxxxxxx
13460                                                      frsqrts.  */
13461                                                   return 560;
13462                                                 }
13463                                             }
13464                                         }
13465                                     }
13466                                 }
13467                             }
13468                           else
13469                             {
13470                               if (((word >> 11) & 0x1) == 0)
13471                                 {
13472                                   if (((word >> 12) & 0x1) == 0)
13473                                     {
13474                                       if (((word >> 13) & 0x1) == 0)
13475                                         {
13476                                           /* 33222222222211111111110000000000
13477                                              10987654321098765432109876543210
13478                                              xx111110xx0xxxxxxx000xxxxxxxxxxx
13479                                              sqrdmlah.  */
13480                                           return 588;
13481                                         }
13482                                       else
13483                                         {
13484                                           if (((word >> 23) & 0x1) == 0)
13485                                             {
13486                                               /* 33222222222211111111110000000000
13487                                                  10987654321098765432109876543210
13488                                                  xx1111100x0xxxxxxx100xxxxxxxxxxx
13489                                                  fcmge.  */
13490                                               return 573;
13491                                             }
13492                                           else
13493                                             {
13494                                               /* 33222222222211111111110000000000
13495                                                  10987654321098765432109876543210
13496                                                  xx1111101x0xxxxxxx100xxxxxxxxxxx
13497                                                  fcmgt.  */
13498                                               return 579;
13499                                             }
13500                                         }
13501                                     }
13502                                   else
13503                                     {
13504                                       /* 33222222222211111111110000000000
13505                                          10987654321098765432109876543210
13506                                          xx111110xx0xxxxxxxx10xxxxxxxxxxx
13507                                          fabd.  */
13508                                       return 577;
13509                                     }
13510                                 }
13511                               else
13512                                 {
13513                                   if (((word >> 13) & 0x1) == 0)
13514                                     {
13515                                       /* 33222222222211111111110000000000
13516                                          10987654321098765432109876543210
13517                                          xx111110xx0xxxxxxx0x1xxxxxxxxxxx
13518                                          sqrdmlsh.  */
13519                                       return 589;
13520                                     }
13521                                   else
13522                                     {
13523                                       if (((word >> 23) & 0x1) == 0)
13524                                         {
13525                                           /* 33222222222211111111110000000000
13526                                              10987654321098765432109876543210
13527                                              xx1111100x0xxxxxxx1x1xxxxxxxxxxx
13528                                              facge.  */
13529                                           return 575;
13530                                         }
13531                                       else
13532                                         {
13533                                           /* 33222222222211111111110000000000
13534                                              10987654321098765432109876543210
13535                                              xx1111101x0xxxxxxx1x1xxxxxxxxxxx
13536                                              facgt.  */
13537                                           return 581;
13538                                         }
13539                                     }
13540                                 }
13541                             }
13542                         }
13543                     }
13544                   else
13545                     {
13546                       if (((word >> 28) & 0x1) == 0)
13547                         {
13548                           if (((word >> 15) & 0x1) == 0)
13549                             {
13550                               if (((word >> 29) & 0x1) == 0)
13551                                 {
13552                                   if (((word >> 31) & 0x1) == 0)
13553                                     {
13554                                       if (((word >> 10) & 0x1) == 0)
13555                                         {
13556                                           if (((word >> 11) & 0x1) == 0)
13557                                             {
13558                                               if (((word >> 12) & 0x1) == 0)
13559                                                 {
13560                                                   if (((word >> 13) & 0x1) == 0)
13561                                                     {
13562                                                       if (((word >> 14) & 0x1) == 0)
13563                                                         {
13564                                                           if (((word >> 30) & 0x1) == 0)
13565                                                             {
13566                                                               /* 33222222222211111111110000000000
13567                                                                  10987654321098765432109876543210
13568                                                                  00001110xx1xxxxx000000xxxxxxxxxx
13569                                                                  saddl.  */
13570                                                               return 44;
13571                                                             }
13572                                                           else
13573                                                             {
13574                                                               /* 33222222222211111111110000000000
13575                                                                  10987654321098765432109876543210
13576                                                                  01001110xx1xxxxx000000xxxxxxxxxx
13577                                                                  saddl2.  */
13578                                                               return 45;
13579                                                             }
13580                                                         }
13581                                                       else
13582                                                         {
13583                                                           if (((word >> 30) & 0x1) == 0)
13584                                                             {
13585                                                               /* 33222222222211111111110000000000
13586                                                                  10987654321098765432109876543210
13587                                                                  00001110xx1xxxxx010000xxxxxxxxxx
13588                                                                  addhn.  */
13589                                                               return 52;
13590                                                             }
13591                                                           else
13592                                                             {
13593                                                               /* 33222222222211111111110000000000
13594                                                                  10987654321098765432109876543210
13595                                                                  01001110xx1xxxxx010000xxxxxxxxxx
13596                                                                  addhn2.  */
13597                                                               return 53;
13598                                                             }
13599                                                         }
13600                                                     }
13601                                                   else
13602                                                     {
13603                                                       if (((word >> 14) & 0x1) == 0)
13604                                                         {
13605                                                           if (((word >> 30) & 0x1) == 0)
13606                                                             {
13607                                                               /* 33222222222211111111110000000000
13608                                                                  10987654321098765432109876543210
13609                                                                  00001110xx1xxxxx001000xxxxxxxxxx
13610                                                                  ssubl.  */
13611                                                               return 48;
13612                                                             }
13613                                                           else
13614                                                             {
13615                                                               /* 33222222222211111111110000000000
13616                                                                  10987654321098765432109876543210
13617                                                                  01001110xx1xxxxx001000xxxxxxxxxx
13618                                                                  ssubl2.  */
13619                                                               return 49;
13620                                                             }
13621                                                         }
13622                                                       else
13623                                                         {
13624                                                           if (((word >> 30) & 0x1) == 0)
13625                                                             {
13626                                                               /* 33222222222211111111110000000000
13627                                                                  10987654321098765432109876543210
13628                                                                  00001110xx1xxxxx011000xxxxxxxxxx
13629                                                                  subhn.  */
13630                                                               return 56;
13631                                                             }
13632                                                           else
13633                                                             {
13634                                                               /* 33222222222211111111110000000000
13635                                                                  10987654321098765432109876543210
13636                                                                  01001110xx1xxxxx011000xxxxxxxxxx
13637                                                                  subhn2.  */
13638                                                               return 57;
13639                                                             }
13640                                                         }
13641                                                     }
13642                                                 }
13643                                               else
13644                                                 {
13645                                                   if (((word >> 13) & 0x1) == 0)
13646                                                     {
13647                                                       if (((word >> 14) & 0x1) == 0)
13648                                                         {
13649                                                           if (((word >> 30) & 0x1) == 0)
13650                                                             {
13651                                                               /* 33222222222211111111110000000000
13652                                                                  10987654321098765432109876543210
13653                                                                  00001110xx1xxxxx000100xxxxxxxxxx
13654                                                                  saddw.  */
13655                                                               return 46;
13656                                                             }
13657                                                           else
13658                                                             {
13659                                                               /* 33222222222211111111110000000000
13660                                                                  10987654321098765432109876543210
13661                                                                  01001110xx1xxxxx000100xxxxxxxxxx
13662                                                                  saddw2.  */
13663                                                               return 47;
13664                                                             }
13665                                                         }
13666                                                       else
13667                                                         {
13668                                                           if (((word >> 30) & 0x1) == 0)
13669                                                             {
13670                                                               /* 33222222222211111111110000000000
13671                                                                  10987654321098765432109876543210
13672                                                                  00001110xx1xxxxx010100xxxxxxxxxx
13673                                                                  sabal.  */
13674                                                               return 54;
13675                                                             }
13676                                                           else
13677                                                             {
13678                                                               /* 33222222222211111111110000000000
13679                                                                  10987654321098765432109876543210
13680                                                                  01001110xx1xxxxx010100xxxxxxxxxx
13681                                                                  sabal2.  */
13682                                                               return 55;
13683                                                             }
13684                                                         }
13685                                                     }
13686                                                   else
13687                                                     {
13688                                                       if (((word >> 14) & 0x1) == 0)
13689                                                         {
13690                                                           if (((word >> 30) & 0x1) == 0)
13691                                                             {
13692                                                               /* 33222222222211111111110000000000
13693                                                                  10987654321098765432109876543210
13694                                                                  00001110xx1xxxxx001100xxxxxxxxxx
13695                                                                  ssubw.  */
13696                                                               return 50;
13697                                                             }
13698                                                           else
13699                                                             {
13700                                                               /* 33222222222211111111110000000000
13701                                                                  10987654321098765432109876543210
13702                                                                  01001110xx1xxxxx001100xxxxxxxxxx
13703                                                                  ssubw2.  */
13704                                                               return 51;
13705                                                             }
13706                                                         }
13707                                                       else
13708                                                         {
13709                                                           if (((word >> 30) & 0x1) == 0)
13710                                                             {
13711                                                               /* 33222222222211111111110000000000
13712                                                                  10987654321098765432109876543210
13713                                                                  00001110xx1xxxxx011100xxxxxxxxxx
13714                                                                  sabdl.  */
13715                                                               return 58;
13716                                                             }
13717                                                           else
13718                                                             {
13719                                                               /* 33222222222211111111110000000000
13720                                                                  10987654321098765432109876543210
13721                                                                  01001110xx1xxxxx011100xxxxxxxxxx
13722                                                                  sabdl2.  */
13723                                                               return 59;
13724                                                             }
13725                                                         }
13726                                                     }
13727                                                 }
13728                                             }
13729                                           else
13730                                             {
13731                                               if (((word >> 12) & 0x1) == 0)
13732                                                 {
13733                                                   if (((word >> 13) & 0x1) == 0)
13734                                                     {
13735                                                       if (((word >> 14) & 0x1) == 0)
13736                                                         {
13737                                                           /* 33222222222211111111110000000000
13738                                                              10987654321098765432109876543210
13739                                                              0x001110xx1xxxxx000010xxxxxxxxxx
13740                                                              rev64.  */
13741                                                           return 162;
13742                                                         }
13743                                                       else
13744                                                         {
13745                                                           if (((word >> 16) & 0x1) == 0)
13746                                                             {
13747                                                               if (((word >> 19) & 0x1) == 0)
13748                                                                 {
13749                                                                   /* 33222222222211111111110000000000
13750                                                                      10987654321098765432109876543210
13751                                                                      0x001110xx1x0xx0010010xxxxxxxxxx
13752                                                                      cls.  */
13753                                                                   return 166;
13754                                                                 }
13755                                                               else
13756                                                                 {
13757                                                                   /* 33222222222211111111110000000000
13758                                                                      10987654321098765432109876543210
13759                                                                      0x001110xx1x1xx0010010xxxxxxxxxx
13760                                                                      aese.  */
13761                                                                   return 671;
13762                                                                 }
13763                                                             }
13764                                                           else
13765                                                             {
13766                                                               if (((word >> 30) & 0x1) == 0)
13767                                                                 {
13768                                                                   /* 33222222222211111111110000000000
13769                                                                      10987654321098765432109876543210
13770                                                                      00001110xx1xxxx1010010xxxxxxxxxx
13771                                                                      sqxtn.  */
13772                                                                   return 176;
13773                                                                 }
13774                                                               else
13775                                                                 {
13776                                                                   /* 33222222222211111111110000000000
13777                                                                      10987654321098765432109876543210
13778                                                                      01001110xx1xxxx1010010xxxxxxxxxx
13779                                                                      sqxtn2.  */
13780                                                                   return 177;
13781                                                                 }
13782                                                             }
13783                                                         }
13784                                                     }
13785                                                   else
13786                                                     {
13787                                                       if (((word >> 14) & 0x1) == 0)
13788                                                         {
13789                                                           if (((word >> 16) & 0x1) == 0)
13790                                                             {
13791                                                               /* 33222222222211111111110000000000
13792                                                                  10987654321098765432109876543210
13793                                                                  0x001110xx1xxxx0001010xxxxxxxxxx
13794                                                                  saddlp.  */
13795                                                               return 164;
13796                                                             }
13797                                                           else
13798                                                             {
13799                                                               if (((word >> 30) & 0x1) == 0)
13800                                                                 {
13801                                                                   /* 33222222222211111111110000000000
13802                                                                      10987654321098765432109876543210
13803                                                                      00001110xx1xxxx1001010xxxxxxxxxx
13804                                                                      xtn.  */
13805                                                                   return 174;
13806                                                                 }
13807                                                               else
13808                                                                 {
13809                                                                   /* 33222222222211111111110000000000
13810                                                                      10987654321098765432109876543210
13811                                                                      01001110xx1xxxx1001010xxxxxxxxxx
13812                                                                      xtn2.  */
13813                                                                   return 175;
13814                                                                 }
13815                                                             }
13816                                                         }
13817                                                       else
13818                                                         {
13819                                                           if (((word >> 16) & 0x1) == 0)
13820                                                             {
13821                                                               if (((word >> 19) & 0x1) == 0)
13822                                                                 {
13823                                                                   /* 33222222222211111111110000000000
13824                                                                      10987654321098765432109876543210
13825                                                                      0x001110xx1x0xx0011010xxxxxxxxxx
13826                                                                      sadalp.  */
13827                                                                   return 168;
13828                                                                 }
13829                                                               else
13830                                                                 {
13831                                                                   /* 33222222222211111111110000000000
13832                                                                      10987654321098765432109876543210
13833                                                                      0x001110xx1x1xx0011010xxxxxxxxxx
13834                                                                      aesmc.  */
13835                                                                   return 673;
13836                                                                 }
13837                                                             }
13838                                                           else
13839                                                             {
13840                                                               if (((word >> 30) & 0x1) == 0)
13841                                                                 {
13842                                                                   /* 33222222222211111111110000000000
13843                                                                      10987654321098765432109876543210
13844                                                                      00001110xx1xxxx1011010xxxxxxxxxx
13845                                                                      fcvtn.  */
13846                                                                   return 178;
13847                                                                 }
13848                                                               else
13849                                                                 {
13850                                                                   /* 33222222222211111111110000000000
13851                                                                      10987654321098765432109876543210
13852                                                                      01001110xx1xxxx1011010xxxxxxxxxx
13853                                                                      fcvtn2.  */
13854                                                                   return 179;
13855                                                                 }
13856                                                             }
13857                                                         }
13858                                                     }
13859                                                 }
13860                                               else
13861                                                 {
13862                                                   if (((word >> 13) & 0x1) == 0)
13863                                                     {
13864                                                       if (((word >> 14) & 0x1) == 0)
13865                                                         {
13866                                                           /* 33222222222211111111110000000000
13867                                                              10987654321098765432109876543210
13868                                                              0x001110xx1xxxxx000110xxxxxxxxxx
13869                                                              rev16.  */
13870                                                           return 163;
13871                                                         }
13872                                                       else
13873                                                         {
13874                                                           if (((word >> 19) & 0x1) == 0)
13875                                                             {
13876                                                               /* 33222222222211111111110000000000
13877                                                                  10987654321098765432109876543210
13878                                                                  0x001110xx1x0xxx010110xxxxxxxxxx
13879                                                                  cnt.  */
13880                                                               return 167;
13881                                                             }
13882                                                           else
13883                                                             {
13884                                                               /* 33222222222211111111110000000000
13885                                                                  10987654321098765432109876543210
13886                                                                  0x001110xx1x1xxx010110xxxxxxxxxx
13887                                                                  aesd.  */
13888                                                               return 672;
13889                                                             }
13890                                                         }
13891                                                     }
13892                                                   else
13893                                                     {
13894                                                       if (((word >> 14) & 0x1) == 0)
13895                                                         {
13896                                                           if (((word >> 20) & 0x1) == 0)
13897                                                             {
13898                                                               /* 33222222222211111111110000000000
13899                                                                  10987654321098765432109876543210
13900                                                                  0x001110xx10xxxx001110xxxxxxxxxx
13901                                                                  suqadd.  */
13902                                                               return 165;
13903                                                             }
13904                                                           else
13905                                                             {
13906                                                               /* 33222222222211111111110000000000
13907                                                                  10987654321098765432109876543210
13908                                                                  0x001110xx11xxxx001110xxxxxxxxxx
13909                                                                  saddlv.  */
13910                                                               return 29;
13911                                                             }
13912                                                         }
13913                                                       else
13914                                                         {
13915                                                           if (((word >> 16) & 0x1) == 0)
13916                                                             {
13917                                                               if (((word >> 19) & 0x1) == 0)
13918                                                                 {
13919                                                                   /* 33222222222211111111110000000000
13920                                                                      10987654321098765432109876543210
13921                                                                      0x001110xx1x0xx0011110xxxxxxxxxx
13922                                                                      sqabs.  */
13923                                                                   return 169;
13924                                                                 }
13925                                                               else
13926                                                                 {
13927                                                                   /* 33222222222211111111110000000000
13928                                                                      10987654321098765432109876543210
13929                                                                      0x001110xx1x1xx0011110xxxxxxxxxx
13930                                                                      aesimc.  */
13931                                                                   return 674;
13932                                                                 }
13933                                                             }
13934                                                           else
13935                                                             {
13936                                                               if (((word >> 30) & 0x1) == 0)
13937                                                                 {
13938                                                                   /* 33222222222211111111110000000000
13939                                                                      10987654321098765432109876543210
13940                                                                      00001110xx1xxxx1011110xxxxxxxxxx
13941                                                                      fcvtl.  */
13942                                                                   return 180;
13943                                                                 }
13944                                                               else
13945                                                                 {
13946                                                                   /* 33222222222211111111110000000000
13947                                                                      10987654321098765432109876543210
13948                                                                      01001110xx1xxxx1011110xxxxxxxxxx
13949                                                                      fcvtl2.  */
13950                                                                   return 181;
13951                                                                 }
13952                                                             }
13953                                                         }
13954                                                     }
13955                                                 }
13956                                             }
13957                                         }
13958                                       else
13959                                         {
13960                                           if (((word >> 11) & 0x1) == 0)
13961                                             {
13962                                               if (((word >> 12) & 0x1) == 0)
13963                                                 {
13964                                                   if (((word >> 13) & 0x1) == 0)
13965                                                     {
13966                                                       if (((word >> 14) & 0x1) == 0)
13967                                                         {
13968                                                           /* 33222222222211111111110000000000
13969                                                              10987654321098765432109876543210
13970                                                              0x001110xx1xxxxx000001xxxxxxxxxx
13971                                                              shadd.  */
13972                                                           return 268;
13973                                                         }
13974                                                       else
13975                                                         {
13976                                                           /* 33222222222211111111110000000000
13977                                                              10987654321098765432109876543210
13978                                                              0x001110xx1xxxxx010001xxxxxxxxxx
13979                                                              sshl.  */
13980                                                           return 275;
13981                                                         }
13982                                                     }
13983                                                   else
13984                                                     {
13985                                                       if (((word >> 14) & 0x1) == 0)
13986                                                         {
13987                                                           /* 33222222222211111111110000000000
13988                                                              10987654321098765432109876543210
13989                                                              0x001110xx1xxxxx001001xxxxxxxxxx
13990                                                              shsub.  */
13991                                                           return 271;
13992                                                         }
13993                                                       else
13994                                                         {
13995                                                           /* 33222222222211111111110000000000
13996                                                              10987654321098765432109876543210
13997                                                              0x001110xx1xxxxx011001xxxxxxxxxx
13998                                                              smax.  */
13999                                                           return 279;
14000                                                         }
14001                                                     }
14002                                                 }
14003                                               else
14004                                                 {
14005                                                   if (((word >> 13) & 0x1) == 0)
14006                                                     {
14007                                                       if (((word >> 14) & 0x1) == 0)
14008                                                         {
14009                                                           /* 33222222222211111111110000000000
14010                                                              10987654321098765432109876543210
14011                                                              0x001110xx1xxxxx000101xxxxxxxxxx
14012                                                              srhadd.  */
14013                                                           return 270;
14014                                                         }
14015                                                       else
14016                                                         {
14017                                                           /* 33222222222211111111110000000000
14018                                                              10987654321098765432109876543210
14019                                                              0x001110xx1xxxxx010101xxxxxxxxxx
14020                                                              srshl.  */
14021                                                           return 277;
14022                                                         }
14023                                                     }
14024                                                   else
14025                                                     {
14026                                                       if (((word >> 14) & 0x1) == 0)
14027                                                         {
14028                                                           /* 33222222222211111111110000000000
14029                                                              10987654321098765432109876543210
14030                                                              0x001110xx1xxxxx001101xxxxxxxxxx
14031                                                              cmgt.  */
14032                                                           return 273;
14033                                                         }
14034                                                       else
14035                                                         {
14036                                                           /* 33222222222211111111110000000000
14037                                                              10987654321098765432109876543210
14038                                                              0x001110xx1xxxxx011101xxxxxxxxxx
14039                                                              sabd.  */
14040                                                           return 281;
14041                                                         }
14042                                                     }
14043                                                 }
14044                                             }
14045                                           else
14046                                             {
14047                                               if (((word >> 12) & 0x1) == 0)
14048                                                 {
14049                                                   if (((word >> 13) & 0x1) == 0)
14050                                                     {
14051                                                       if (((word >> 14) & 0x1) == 0)
14052                                                         {
14053                                                           /* 33222222222211111111110000000000
14054                                                              10987654321098765432109876543210
14055                                                              0x001110xx1xxxxx000011xxxxxxxxxx
14056                                                              sqadd.  */
14057                                                           return 269;
14058                                                         }
14059                                                       else
14060                                                         {
14061                                                           /* 33222222222211111111110000000000
14062                                                              10987654321098765432109876543210
14063                                                              0x001110xx1xxxxx010011xxxxxxxxxx
14064                                                              sqshl.  */
14065                                                           return 276;
14066                                                         }
14067                                                     }
14068                                                   else
14069                                                     {
14070                                                       if (((word >> 14) & 0x1) == 0)
14071                                                         {
14072                                                           /* 33222222222211111111110000000000
14073                                                              10987654321098765432109876543210
14074                                                              0x001110xx1xxxxx001011xxxxxxxxxx
14075                                                              sqsub.  */
14076                                                           return 272;
14077                                                         }
14078                                                       else
14079                                                         {
14080                                                           /* 33222222222211111111110000000000
14081                                                              10987654321098765432109876543210
14082                                                              0x001110xx1xxxxx011011xxxxxxxxxx
14083                                                              smin.  */
14084                                                           return 280;
14085                                                         }
14086                                                     }
14087                                                 }
14088                                               else
14089                                                 {
14090                                                   if (((word >> 13) & 0x1) == 0)
14091                                                     {
14092                                                       if (((word >> 14) & 0x1) == 0)
14093                                                         {
14094                                                           if (((word >> 22) & 0x1) == 0)
14095                                                             {
14096                                                               if (((word >> 23) & 0x1) == 0)
14097                                                                 {
14098                                                                   /* 33222222222211111111110000000000
14099                                                                      10987654321098765432109876543210
14100                                                                      0x001110001xxxxx000111xxxxxxxxxx
14101                                                                      and.  */
14102                                                                   return 305;
14103                                                                 }
14104                                                               else
14105                                                                 {
14106                                                                   /* 33222222222211111111110000000000
14107                                                                      10987654321098765432109876543210
14108                                                                      0x001110101xxxxx000111xxxxxxxxxx
14109                                                                      orr.  */
14110                                                                   return 317;
14111                                                                 }
14112                                                             }
14113                                                           else
14114                                                             {
14115                                                               if (((word >> 23) & 0x1) == 0)
14116                                                                 {
14117                                                                   /* 33222222222211111111110000000000
14118                                                                      10987654321098765432109876543210
14119                                                                      0x001110011xxxxx000111xxxxxxxxxx
14120                                                                      bic.  */
14121                                                                   return 306;
14122                                                                 }
14123                                                               else
14124                                                                 {
14125                                                                   /* 33222222222211111111110000000000
14126                                                                      10987654321098765432109876543210
14127                                                                      0x001110111xxxxx000111xxxxxxxxxx
14128                                                                      orn.  */
14129                                                                   return 319;
14130                                                                 }
14131                                                             }
14132                                                         }
14133                                                       else
14134                                                         {
14135                                                           /* 33222222222211111111110000000000
14136                                                              10987654321098765432109876543210
14137                                                              0x001110xx1xxxxx010111xxxxxxxxxx
14138                                                              sqrshl.  */
14139                                                           return 278;
14140                                                         }
14141                                                     }
14142                                                   else
14143                                                     {
14144                                                       if (((word >> 14) & 0x1) == 0)
14145                                                         {
14146                                                           /* 33222222222211111111110000000000
14147                                                              10987654321098765432109876543210
14148                                                              0x001110xx1xxxxx001111xxxxxxxxxx
14149                                                              cmge.  */
14150                                                           return 274;
14151                                                         }
14152                                                       else
14153                                                         {
14154                                                           /* 33222222222211111111110000000000
14155                                                              10987654321098765432109876543210
14156                                                              0x001110xx1xxxxx011111xxxxxxxxxx
14157                                                              saba.  */
14158                                                           return 282;
14159                                                         }
14160                                                     }
14161                                                 }
14162                                             }
14163                                         }
14164                                     }
14165                                   else
14166                                     {
14167                                       /* 33222222222211111111110000000000
14168                                          10987654321098765432109876543210
14169                                          1x001110xx1xxxxx0xxxxxxxxxxxxxxx
14170                                          bcax.  */
14171                                       return 2051;
14172                                     }
14173                                 }
14174                               else
14175                                 {
14176                                   if (((word >> 10) & 0x1) == 0)
14177                                     {
14178                                       if (((word >> 11) & 0x1) == 0)
14179                                         {
14180                                           if (((word >> 12) & 0x1) == 0)
14181                                             {
14182                                               if (((word >> 13) & 0x1) == 0)
14183                                                 {
14184                                                   if (((word >> 14) & 0x1) == 0)
14185                                                     {
14186                                                       if (((word >> 30) & 0x1) == 0)
14187                                                         {
14188                                                           /* 33222222222211111111110000000000
14189                                                              10987654321098765432109876543210
14190                                                              x0101110xx1xxxxx000000xxxxxxxxxx
14191                                                              uaddl.  */
14192                                                           return 76;
14193                                                         }
14194                                                       else
14195                                                         {
14196                                                           /* 33222222222211111111110000000000
14197                                                              10987654321098765432109876543210
14198                                                              x1101110xx1xxxxx000000xxxxxxxxxx
14199                                                              uaddl2.  */
14200                                                           return 77;
14201                                                         }
14202                                                     }
14203                                                   else
14204                                                     {
14205                                                       if (((word >> 30) & 0x1) == 0)
14206                                                         {
14207                                                           /* 33222222222211111111110000000000
14208                                                              10987654321098765432109876543210
14209                                                              x0101110xx1xxxxx010000xxxxxxxxxx
14210                                                              raddhn.  */
14211                                                           return 84;
14212                                                         }
14213                                                       else
14214                                                         {
14215                                                           /* 33222222222211111111110000000000
14216                                                              10987654321098765432109876543210
14217                                                              x1101110xx1xxxxx010000xxxxxxxxxx
14218                                                              raddhn2.  */
14219                                                           return 85;
14220                                                         }
14221                                                     }
14222                                                 }
14223                                               else
14224                                                 {
14225                                                   if (((word >> 14) & 0x1) == 0)
14226                                                     {
14227                                                       if (((word >> 30) & 0x1) == 0)
14228                                                         {
14229                                                           /* 33222222222211111111110000000000
14230                                                              10987654321098765432109876543210
14231                                                              x0101110xx1xxxxx001000xxxxxxxxxx
14232                                                              usubl.  */
14233                                                           return 80;
14234                                                         }
14235                                                       else
14236                                                         {
14237                                                           /* 33222222222211111111110000000000
14238                                                              10987654321098765432109876543210
14239                                                              x1101110xx1xxxxx001000xxxxxxxxxx
14240                                                              usubl2.  */
14241                                                           return 81;
14242                                                         }
14243                                                     }
14244                                                   else
14245                                                     {
14246                                                       if (((word >> 30) & 0x1) == 0)
14247                                                         {
14248                                                           /* 33222222222211111111110000000000
14249                                                              10987654321098765432109876543210
14250                                                              x0101110xx1xxxxx011000xxxxxxxxxx
14251                                                              rsubhn.  */
14252                                                           return 88;
14253                                                         }
14254                                                       else
14255                                                         {
14256                                                           /* 33222222222211111111110000000000
14257                                                              10987654321098765432109876543210
14258                                                              x1101110xx1xxxxx011000xxxxxxxxxx
14259                                                              rsubhn2.  */
14260                                                           return 89;
14261                                                         }
14262                                                     }
14263                                                 }
14264                                             }
14265                                           else
14266                                             {
14267                                               if (((word >> 13) & 0x1) == 0)
14268                                                 {
14269                                                   if (((word >> 14) & 0x1) == 0)
14270                                                     {
14271                                                       if (((word >> 30) & 0x1) == 0)
14272                                                         {
14273                                                           /* 33222222222211111111110000000000
14274                                                              10987654321098765432109876543210
14275                                                              x0101110xx1xxxxx000100xxxxxxxxxx
14276                                                              uaddw.  */
14277                                                           return 78;
14278                                                         }
14279                                                       else
14280                                                         {
14281                                                           /* 33222222222211111111110000000000
14282                                                              10987654321098765432109876543210
14283                                                              x1101110xx1xxxxx000100xxxxxxxxxx
14284                                                              uaddw2.  */
14285                                                           return 79;
14286                                                         }
14287                                                     }
14288                                                   else
14289                                                     {
14290                                                       if (((word >> 30) & 0x1) == 0)
14291                                                         {
14292                                                           /* 33222222222211111111110000000000
14293                                                              10987654321098765432109876543210
14294                                                              x0101110xx1xxxxx010100xxxxxxxxxx
14295                                                              uabal.  */
14296                                                           return 86;
14297                                                         }
14298                                                       else
14299                                                         {
14300                                                           /* 33222222222211111111110000000000
14301                                                              10987654321098765432109876543210
14302                                                              x1101110xx1xxxxx010100xxxxxxxxxx
14303                                                              uabal2.  */
14304                                                           return 87;
14305                                                         }
14306                                                     }
14307                                                 }
14308                                               else
14309                                                 {
14310                                                   if (((word >> 14) & 0x1) == 0)
14311                                                     {
14312                                                       if (((word >> 30) & 0x1) == 0)
14313                                                         {
14314                                                           /* 33222222222211111111110000000000
14315                                                              10987654321098765432109876543210
14316                                                              x0101110xx1xxxxx001100xxxxxxxxxx
14317                                                              usubw.  */
14318                                                           return 82;
14319                                                         }
14320                                                       else
14321                                                         {
14322                                                           /* 33222222222211111111110000000000
14323                                                              10987654321098765432109876543210
14324                                                              x1101110xx1xxxxx001100xxxxxxxxxx
14325                                                              usubw2.  */
14326                                                           return 83;
14327                                                         }
14328                                                     }
14329                                                   else
14330                                                     {
14331                                                       if (((word >> 30) & 0x1) == 0)
14332                                                         {
14333                                                           /* 33222222222211111111110000000000
14334                                                              10987654321098765432109876543210
14335                                                              x0101110xx1xxxxx011100xxxxxxxxxx
14336                                                              uabdl.  */
14337                                                           return 90;
14338                                                         }
14339                                                       else
14340                                                         {
14341                                                           /* 33222222222211111111110000000000
14342                                                              10987654321098765432109876543210
14343                                                              x1101110xx1xxxxx011100xxxxxxxxxx
14344                                                              uabdl2.  */
14345                                                           return 91;
14346                                                         }
14347                                                     }
14348                                                 }
14349                                             }
14350                                         }
14351                                       else
14352                                         {
14353                                           if (((word >> 12) & 0x1) == 0)
14354                                             {
14355                                               if (((word >> 13) & 0x1) == 0)
14356                                                 {
14357                                                   if (((word >> 14) & 0x1) == 0)
14358                                                     {
14359                                                       /* 33222222222211111111110000000000
14360                                                          10987654321098765432109876543210
14361                                                          xx101110xx1xxxxx000010xxxxxxxxxx
14362                                                          rev32.  */
14363                                                       return 213;
14364                                                     }
14365                                                   else
14366                                                     {
14367                                                       if (((word >> 16) & 0x1) == 0)
14368                                                         {
14369                                                           /* 33222222222211111111110000000000
14370                                                              10987654321098765432109876543210
14371                                                              xx101110xx1xxxx0010010xxxxxxxxxx
14372                                                              clz.  */
14373                                                           return 216;
14374                                                         }
14375                                                       else
14376                                                         {
14377                                                           if (((word >> 30) & 0x1) == 0)
14378                                                             {
14379                                                               /* 33222222222211111111110000000000
14380                                                                  10987654321098765432109876543210
14381                                                                  x0101110xx1xxxx1010010xxxxxxxxxx
14382                                                                  uqxtn.  */
14383                                                               return 226;
14384                                                             }
14385                                                           else
14386                                                             {
14387                                                               /* 33222222222211111111110000000000
14388                                                                  10987654321098765432109876543210
14389                                                                  x1101110xx1xxxx1010010xxxxxxxxxx
14390                                                                  uqxtn2.  */
14391                                                               return 227;
14392                                                             }
14393                                                         }
14394                                                     }
14395                                                 }
14396                                               else
14397                                                 {
14398                                                   if (((word >> 14) & 0x1) == 0)
14399                                                     {
14400                                                       if (((word >> 16) & 0x1) == 0)
14401                                                         {
14402                                                           /* 33222222222211111111110000000000
14403                                                              10987654321098765432109876543210
14404                                                              xx101110xx1xxxx0001010xxxxxxxxxx
14405                                                              uaddlp.  */
14406                                                           return 214;
14407                                                         }
14408                                                       else
14409                                                         {
14410                                                           if (((word >> 30) & 0x1) == 0)
14411                                                             {
14412                                                               /* 33222222222211111111110000000000
14413                                                                  10987654321098765432109876543210
14414                                                                  x0101110xx1xxxx1001010xxxxxxxxxx
14415                                                                  sqxtun.  */
14416                                                               return 222;
14417                                                             }
14418                                                           else
14419                                                             {
14420                                                               /* 33222222222211111111110000000000
14421                                                                  10987654321098765432109876543210
14422                                                                  x1101110xx1xxxx1001010xxxxxxxxxx
14423                                                                  sqxtun2.  */
14424                                                               return 223;
14425                                                             }
14426                                                         }
14427                                                     }
14428                                                   else
14429                                                     {
14430                                                       if (((word >> 16) & 0x1) == 0)
14431                                                         {
14432                                                           /* 33222222222211111111110000000000
14433                                                              10987654321098765432109876543210
14434                                                              xx101110xx1xxxx0011010xxxxxxxxxx
14435                                                              uadalp.  */
14436                                                           return 217;
14437                                                         }
14438                                                       else
14439                                                         {
14440                                                           if (((word >> 30) & 0x1) == 0)
14441                                                             {
14442                                                               /* 33222222222211111111110000000000
14443                                                                  10987654321098765432109876543210
14444                                                                  x0101110xx1xxxx1011010xxxxxxxxxx
14445                                                                  fcvtxn.  */
14446                                                               return 228;
14447                                                             }
14448                                                           else
14449                                                             {
14450                                                               /* 33222222222211111111110000000000
14451                                                                  10987654321098765432109876543210
14452                                                                  x1101110xx1xxxx1011010xxxxxxxxxx
14453                                                                  fcvtxn2.  */
14454                                                               return 229;
14455                                                             }
14456                                                         }
14457                                                     }
14458                                                 }
14459                                             }
14460                                           else
14461                                             {
14462                                               if (((word >> 13) & 0x1) == 0)
14463                                                 {
14464                                                   if (((word >> 22) & 0x1) == 0)
14465                                                     {
14466                                                       /* 33222222222211111111110000000000
14467                                                          10987654321098765432109876543210
14468                                                          xx101110x01xxxxx0x0110xxxxxxxxxx
14469                                                          not.  */
14470                                                       return 242;
14471                                                     }
14472                                                   else
14473                                                     {
14474                                                       /* 33222222222211111111110000000000
14475                                                          10987654321098765432109876543210
14476                                                          xx101110x11xxxxx0x0110xxxxxxxxxx
14477                                                          rbit.  */
14478                                                       return 244;
14479                                                     }
14480                                                 }
14481                                               else
14482                                                 {
14483                                                   if (((word >> 14) & 0x1) == 0)
14484                                                     {
14485                                                       if (((word >> 16) & 0x1) == 0)
14486                                                         {
14487                                                           if (((word >> 20) & 0x1) == 0)
14488                                                             {
14489                                                               /* 33222222222211111111110000000000
14490                                                                  10987654321098765432109876543210
14491                                                                  xx101110xx10xxx0001110xxxxxxxxxx
14492                                                                  usqadd.  */
14493                                                               return 215;
14494                                                             }
14495                                                           else
14496                                                             {
14497                                                               /* 33222222222211111111110000000000
14498                                                                  10987654321098765432109876543210
14499                                                                  xx101110xx11xxx0001110xxxxxxxxxx
14500                                                                  uaddlv.  */
14501                                                               return 33;
14502                                                             }
14503                                                         }
14504                                                       else
14505                                                         {
14506                                                           if (((word >> 30) & 0x1) == 0)
14507                                                             {
14508                                                               /* 33222222222211111111110000000000
14509                                                                  10987654321098765432109876543210
14510                                                                  x0101110xx1xxxx1001110xxxxxxxxxx
14511                                                                  shll.  */
14512                                                               return 224;
14513                                                             }
14514                                                           else
14515                                                             {
14516                                                               /* 33222222222211111111110000000000
14517                                                                  10987654321098765432109876543210
14518                                                                  x1101110xx1xxxx1001110xxxxxxxxxx
14519                                                                  shll2.  */
14520                                                               return 225;
14521                                                             }
14522                                                         }
14523                                                     }
14524                                                   else
14525                                                     {
14526                                                       /* 33222222222211111111110000000000
14527                                                          10987654321098765432109876543210
14528                                                          xx101110xx1xxxxx011110xxxxxxxxxx
14529                                                          sqneg.  */
14530                                                       return 218;
14531                                                     }
14532                                                 }
14533                                             }
14534                                         }
14535                                     }
14536                                   else
14537                                     {
14538                                       if (((word >> 11) & 0x1) == 0)
14539                                         {
14540                                           if (((word >> 12) & 0x1) == 0)
14541                                             {
14542                                               if (((word >> 13) & 0x1) == 0)
14543                                                 {
14544                                                   if (((word >> 14) & 0x1) == 0)
14545                                                     {
14546                                                       /* 33222222222211111111110000000000
14547                                                          10987654321098765432109876543210
14548                                                          xx101110xx1xxxxx000001xxxxxxxxxx
14549                                                          uhadd.  */
14550                                                       return 320;
14551                                                     }
14552                                                   else
14553                                                     {
14554                                                       /* 33222222222211111111110000000000
14555                                                          10987654321098765432109876543210
14556                                                          xx101110xx1xxxxx010001xxxxxxxxxx
14557                                                          ushl.  */
14558                                                       return 327;
14559                                                     }
14560                                                 }
14561                                               else
14562                                                 {
14563                                                   if (((word >> 14) & 0x1) == 0)
14564                                                     {
14565                                                       /* 33222222222211111111110000000000
14566                                                          10987654321098765432109876543210
14567                                                          xx101110xx1xxxxx001001xxxxxxxxxx
14568                                                          uhsub.  */
14569                                                       return 323;
14570                                                     }
14571                                                   else
14572                                                     {
14573                                                       /* 33222222222211111111110000000000
14574                                                          10987654321098765432109876543210
14575                                                          xx101110xx1xxxxx011001xxxxxxxxxx
14576                                                          umax.  */
14577                                                       return 331;
14578                                                     }
14579                                                 }
14580                                             }
14581                                           else
14582                                             {
14583                                               if (((word >> 13) & 0x1) == 0)
14584                                                 {
14585                                                   if (((word >> 14) & 0x1) == 0)
14586                                                     {
14587                                                       /* 33222222222211111111110000000000
14588                                                          10987654321098765432109876543210
14589                                                          xx101110xx1xxxxx000101xxxxxxxxxx
14590                                                          urhadd.  */
14591                                                       return 322;
14592                                                     }
14593                                                   else
14594                                                     {
14595                                                       /* 33222222222211111111110000000000
14596                                                          10987654321098765432109876543210
14597                                                          xx101110xx1xxxxx010101xxxxxxxxxx
14598                                                          urshl.  */
14599                                                       return 329;
14600                                                     }
14601                                                 }
14602                                               else
14603                                                 {
14604                                                   if (((word >> 14) & 0x1) == 0)
14605                                                     {
14606                                                       /* 33222222222211111111110000000000
14607                                                          10987654321098765432109876543210
14608                                                          xx101110xx1xxxxx001101xxxxxxxxxx
14609                                                          cmhi.  */
14610                                                       return 325;
14611                                                     }
14612                                                   else
14613                                                     {
14614                                                       /* 33222222222211111111110000000000
14615                                                          10987654321098765432109876543210
14616                                                          xx101110xx1xxxxx011101xxxxxxxxxx
14617                                                          uabd.  */
14618                                                       return 333;
14619                                                     }
14620                                                 }
14621                                             }
14622                                         }
14623                                       else
14624                                         {
14625                                           if (((word >> 12) & 0x1) == 0)
14626                                             {
14627                                               if (((word >> 13) & 0x1) == 0)
14628                                                 {
14629                                                   if (((word >> 14) & 0x1) == 0)
14630                                                     {
14631                                                       /* 33222222222211111111110000000000
14632                                                          10987654321098765432109876543210
14633                                                          xx101110xx1xxxxx000011xxxxxxxxxx
14634                                                          uqadd.  */
14635                                                       return 321;
14636                                                     }
14637                                                   else
14638                                                     {
14639                                                       /* 33222222222211111111110000000000
14640                                                          10987654321098765432109876543210
14641                                                          xx101110xx1xxxxx010011xxxxxxxxxx
14642                                                          uqshl.  */
14643                                                       return 328;
14644                                                     }
14645                                                 }
14646                                               else
14647                                                 {
14648                                                   if (((word >> 14) & 0x1) == 0)
14649                                                     {
14650                                                       /* 33222222222211111111110000000000
14651                                                          10987654321098765432109876543210
14652                                                          xx101110xx1xxxxx001011xxxxxxxxxx
14653                                                          uqsub.  */
14654                                                       return 324;
14655                                                     }
14656                                                   else
14657                                                     {
14658                                                       /* 33222222222211111111110000000000
14659                                                          10987654321098765432109876543210
14660                                                          xx101110xx1xxxxx011011xxxxxxxxxx
14661                                                          umin.  */
14662                                                       return 332;
14663                                                     }
14664                                                 }
14665                                             }
14666                                           else
14667                                             {
14668                                               if (((word >> 13) & 0x1) == 0)
14669                                                 {
14670                                                   if (((word >> 14) & 0x1) == 0)
14671                                                     {
14672                                                       if (((word >> 22) & 0x1) == 0)
14673                                                         {
14674                                                           if (((word >> 23) & 0x1) == 0)
14675                                                             {
14676                                                               /* 33222222222211111111110000000000
14677                                                                  10987654321098765432109876543210
14678                                                                  xx101110001xxxxx000111xxxxxxxxxx
14679                                                                  eor.  */
14680                                                               return 356;
14681                                                             }
14682                                                           else
14683                                                             {
14684                                                               /* 33222222222211111111110000000000
14685                                                                  10987654321098765432109876543210
14686                                                                  xx101110101xxxxx000111xxxxxxxxxx
14687                                                                  bit.  */
14688                                                               return 368;
14689                                                             }
14690                                                         }
14691                                                       else
14692                                                         {
14693                                                           if (((word >> 23) & 0x1) == 0)
14694                                                             {
14695                                                               /* 33222222222211111111110000000000
14696                                                                  10987654321098765432109876543210
14697                                                                  xx101110011xxxxx000111xxxxxxxxxx
14698                                                                  bsl.  */
14699                                                               return 357;
14700                                                             }
14701                                                           else
14702                                                             {
14703                                                               /* 33222222222211111111110000000000
14704                                                                  10987654321098765432109876543210
14705                                                                  xx101110111xxxxx000111xxxxxxxxxx
14706                                                                  bif.  */
14707                                                               return 369;
14708                                                             }
14709                                                         }
14710                                                     }
14711                                                   else
14712                                                     {
14713                                                       /* 33222222222211111111110000000000
14714                                                          10987654321098765432109876543210
14715                                                          xx101110xx1xxxxx010111xxxxxxxxxx
14716                                                          uqrshl.  */
14717                                                       return 330;
14718                                                     }
14719                                                 }
14720                                               else
14721                                                 {
14722                                                   if (((word >> 14) & 0x1) == 0)
14723                                                     {
14724                                                       /* 33222222222211111111110000000000
14725                                                          10987654321098765432109876543210
14726                                                          xx101110xx1xxxxx001111xxxxxxxxxx
14727                                                          cmhs.  */
14728                                                       return 326;
14729                                                     }
14730                                                   else
14731                                                     {
14732                                                       /* 33222222222211111111110000000000
14733                                                          10987654321098765432109876543210
14734                                                          xx101110xx1xxxxx011111xxxxxxxxxx
14735                                                          uaba.  */
14736                                                       return 334;
14737                                                     }
14738                                                 }
14739                                             }
14740                                         }
14741                                     }
14742                                 }
14743                             }
14744                           else
14745                             {
14746                               if (((word >> 10) & 0x1) == 0)
14747                                 {
14748                                   if (((word >> 11) & 0x1) == 0)
14749                                     {
14750                                       if (((word >> 12) & 0x1) == 0)
14751                                         {
14752                                           if (((word >> 13) & 0x1) == 0)
14753                                             {
14754                                               if (((word >> 14) & 0x1) == 0)
14755                                                 {
14756                                                   if (((word >> 29) & 0x1) == 0)
14757                                                     {
14758                                                       if (((word >> 30) & 0x1) == 0)
14759                                                         {
14760                                                           /* 33222222222211111111110000000000
14761                                                              10987654321098765432109876543210
14762                                                              x0001110xx1xxxxx100000xxxxxxxxxx
14763                                                              smlal.  */
14764                                                           return 60;
14765                                                         }
14766                                                       else
14767                                                         {
14768                                                           if (((word >> 31) & 0x1) == 0)
14769                                                             {
14770                                                               /* 33222222222211111111110000000000
14771                                                                  10987654321098765432109876543210
14772                                                                  01001110xx1xxxxx100000xxxxxxxxxx
14773                                                                  smlal2.  */
14774                                                               return 61;
14775                                                             }
14776                                                           else
14777                                                             {
14778                                                               /* 33222222222211111111110000000000
14779                                                                  10987654321098765432109876543210
14780                                                                  11001110xx1xxxxx100000xxxxxxxxxx
14781                                                                  sha512h.  */
14782                                                               return 2044;
14783                                                             }
14784                                                         }
14785                                                     }
14786                                                   else
14787                                                     {
14788                                                       if (((word >> 30) & 0x1) == 0)
14789                                                         {
14790                                                           /* 33222222222211111111110000000000
14791                                                              10987654321098765432109876543210
14792                                                              x0101110xx1xxxxx100000xxxxxxxxxx
14793                                                              umlal.  */
14794                                                           return 92;
14795                                                         }
14796                                                       else
14797                                                         {
14798                                                           /* 33222222222211111111110000000000
14799                                                              10987654321098765432109876543210
14800                                                              x1101110xx1xxxxx100000xxxxxxxxxx
14801                                                              umlal2.  */
14802                                                           return 93;
14803                                                         }
14804                                                     }
14805                                                 }
14806                                               else
14807                                                 {
14808                                                   if (((word >> 29) & 0x1) == 0)
14809                                                     {
14810                                                       if (((word >> 30) & 0x1) == 0)
14811                                                         {
14812                                                           /* 33222222222211111111110000000000
14813                                                              10987654321098765432109876543210
14814                                                              x0001110xx1xxxxx110000xxxxxxxxxx
14815                                                              smull.  */
14816                                                           return 68;
14817                                                         }
14818                                                       else
14819                                                         {
14820                                                           if (((word >> 31) & 0x1) == 0)
14821                                                             {
14822                                                               /* 33222222222211111111110000000000
14823                                                                  10987654321098765432109876543210
14824                                                                  01001110xx1xxxxx110000xxxxxxxxxx
14825                                                                  smull2.  */
14826                                                               return 69;
14827                                                             }
14828                                                           else
14829                                                             {
14830                                                               /* 33222222222211111111110000000000
14831                                                                  10987654321098765432109876543210
14832                                                                  11001110xx1xxxxx110000xxxxxxxxxx
14833                                                                  sm3partw1.  */
14834                                                               return 2057;
14835                                                             }
14836                                                         }
14837                                                     }
14838                                                   else
14839                                                     {
14840                                                       if (((word >> 30) & 0x1) == 0)
14841                                                         {
14842                                                           /* 33222222222211111111110000000000
14843                                                              10987654321098765432109876543210
14844                                                              x0101110xx1xxxxx110000xxxxxxxxxx
14845                                                              umull.  */
14846                                                           return 96;
14847                                                         }
14848                                                       else
14849                                                         {
14850                                                           /* 33222222222211111111110000000000
14851                                                              10987654321098765432109876543210
14852                                                              x1101110xx1xxxxx110000xxxxxxxxxx
14853                                                              umull2.  */
14854                                                           return 97;
14855                                                         }
14856                                                     }
14857                                                 }
14858                                             }
14859                                           else
14860                                             {
14861                                               if (((word >> 14) & 0x1) == 0)
14862                                                 {
14863                                                   if (((word >> 29) & 0x1) == 0)
14864                                                     {
14865                                                       if (((word >> 30) & 0x1) == 0)
14866                                                         {
14867                                                           /* 33222222222211111111110000000000
14868                                                              10987654321098765432109876543210
14869                                                              x0001110xx1xxxxx101000xxxxxxxxxx
14870                                                              smlsl.  */
14871                                                           return 64;
14872                                                         }
14873                                                       else
14874                                                         {
14875                                                           /* 33222222222211111111110000000000
14876                                                              10987654321098765432109876543210
14877                                                              x1001110xx1xxxxx101000xxxxxxxxxx
14878                                                              smlsl2.  */
14879                                                           return 65;
14880                                                         }
14881                                                     }
14882                                                   else
14883                                                     {
14884                                                       if (((word >> 30) & 0x1) == 0)
14885                                                         {
14886                                                           /* 33222222222211111111110000000000
14887                                                              10987654321098765432109876543210
14888                                                              x0101110xx1xxxxx101000xxxxxxxxxx
14889                                                              umlsl.  */
14890                                                           return 94;
14891                                                         }
14892                                                       else
14893                                                         {
14894                                                           /* 33222222222211111111110000000000
14895                                                              10987654321098765432109876543210
14896                                                              x1101110xx1xxxxx101000xxxxxxxxxx
14897                                                              umlsl2.  */
14898                                                           return 95;
14899                                                         }
14900                                                     }
14901                                                 }
14902                                               else
14903                                                 {
14904                                                   if (((word >> 22) & 0x1) == 0)
14905                                                     {
14906                                                       if (((word >> 30) & 0x1) == 0)
14907                                                         {
14908                                                           /* 33222222222211111111110000000000
14909                                                              10987654321098765432109876543210
14910                                                              x0x01110x01xxxxx111000xxxxxxxxxx
14911                                                              pmull.  */
14912                                                           return 72;
14913                                                         }
14914                                                       else
14915                                                         {
14916                                                           /* 33222222222211111111110000000000
14917                                                              10987654321098765432109876543210
14918                                                              x1x01110x01xxxxx111000xxxxxxxxxx
14919                                                              pmull2.  */
14920                                                           return 74;
14921                                                         }
14922                                                     }
14923                                                   else
14924                                                     {
14925                                                       if (((word >> 30) & 0x1) == 0)
14926                                                         {
14927                                                           /* 33222222222211111111110000000000
14928                                                              10987654321098765432109876543210
14929                                                              x0x01110x11xxxxx111000xxxxxxxxxx
14930                                                              pmull.  */
14931                                                           return 73;
14932                                                         }
14933                                                       else
14934                                                         {
14935                                                           /* 33222222222211111111110000000000
14936                                                              10987654321098765432109876543210
14937                                                              x1x01110x11xxxxx111000xxxxxxxxxx
14938                                                              pmull2.  */
14939                                                           return 75;
14940                                                         }
14941                                                     }
14942                                                 }
14943                                             }
14944                                         }
14945                                       else
14946                                         {
14947                                           if (((word >> 13) & 0x1) == 0)
14948                                             {
14949                                               if (((word >> 14) & 0x1) == 0)
14950                                                 {
14951                                                   if (((word >> 30) & 0x1) == 0)
14952                                                     {
14953                                                       /* 33222222222211111111110000000000
14954                                                          10987654321098765432109876543210
14955                                                          x0x01110xx1xxxxx100100xxxxxxxxxx
14956                                                          sqdmlal.  */
14957                                                       return 62;
14958                                                     }
14959                                                   else
14960                                                     {
14961                                                       /* 33222222222211111111110000000000
14962                                                          10987654321098765432109876543210
14963                                                          x1x01110xx1xxxxx100100xxxxxxxxxx
14964                                                          sqdmlal2.  */
14965                                                       return 63;
14966                                                     }
14967                                                 }
14968                                               else
14969                                                 {
14970                                                   if (((word >> 30) & 0x1) == 0)
14971                                                     {
14972                                                       /* 33222222222211111111110000000000
14973                                                          10987654321098765432109876543210
14974                                                          x0x01110xx1xxxxx110100xxxxxxxxxx
14975                                                          sqdmull.  */
14976                                                       return 70;
14977                                                     }
14978                                                   else
14979                                                     {
14980                                                       /* 33222222222211111111110000000000
14981                                                          10987654321098765432109876543210
14982                                                          x1x01110xx1xxxxx110100xxxxxxxxxx
14983                                                          sqdmull2.  */
14984                                                       return 71;
14985                                                     }
14986                                                 }
14987                                             }
14988                                           else
14989                                             {
14990                                               if (((word >> 30) & 0x1) == 0)
14991                                                 {
14992                                                   /* 33222222222211111111110000000000
14993                                                      10987654321098765432109876543210
14994                                                      x0x01110xx1xxxxx1x1100xxxxxxxxxx
14995                                                      sqdmlsl.  */
14996                                                   return 66;
14997                                                 }
14998                                               else
14999                                                 {
15000                                                   /* 33222222222211111111110000000000
15001                                                      10987654321098765432109876543210
15002                                                      x1x01110xx1xxxxx1x1100xxxxxxxxxx
15003                                                      sqdmlsl2.  */
15004                                                   return 67;
15005                                                 }
15006                                             }
15007                                         }
15008                                     }
15009                                   else
15010                                     {
15011                                       if (((word >> 12) & 0x1) == 0)
15012                                         {
15013                                           if (((word >> 13) & 0x1) == 0)
15014                                             {
15015                                               if (((word >> 14) & 0x1) == 0)
15016                                                 {
15017                                                   if (((word >> 29) & 0x1) == 0)
15018                                                     {
15019                                                       if (((word >> 31) & 0x1) == 0)
15020                                                         {
15021                                                           if (((word >> 16) & 0x1) == 0)
15022                                                             {
15023                                                               /* 33222222222211111111110000000000
15024                                                                  10987654321098765432109876543210
15025                                                                  0x001110xx1xxxx0100010xxxxxxxxxx
15026                                                                  cmgt.  */
15027                                                               return 170;
15028                                                             }
15029                                                           else
15030                                                             {
15031                                                               if (((word >> 19) & 0x1) == 0)
15032                                                                 {
15033                                                                   if (((word >> 23) & 0x1) == 0)
15034                                                                     {
15035                                                                       /* 33222222222211111111110000000000
15036                                                                          10987654321098765432109876543210
15037                                                                          0x0011100x1x0xx1100010xxxxxxxxxx
15038                                                                          frintn.  */
15039                                                                       return 182;
15040                                                                     }
15041                                                                   else
15042                                                                     {
15043                                                                       /* 33222222222211111111110000000000
15044                                                                          10987654321098765432109876543210
15045                                                                          0x0011101x1x0xx1100010xxxxxxxxxx
15046                                                                          frintp.  */
15047                                                                       return 202;
15048                                                                     }
15049                                                                 }
15050                                                               else
15051                                                                 {
15052                                                                   if (((word >> 23) & 0x1) == 0)
15053                                                                     {
15054                                                                       /* 33222222222211111111110000000000
15055                                                                          10987654321098765432109876543210
15056                                                                          0x0011100x1x1xx1100010xxxxxxxxxx
15057                                                                          frintn.  */
15058                                                                       return 183;
15059                                                                     }
15060                                                                   else
15061                                                                     {
15062                                                                       /* 33222222222211111111110000000000
15063                                                                          10987654321098765432109876543210
15064                                                                          0x0011101x1x1xx1100010xxxxxxxxxx
15065                                                                          frintp.  */
15066                                                                       return 203;
15067                                                                     }
15068                                                                 }
15069                                                             }
15070                                                         }
15071                                                       else
15072                                                         {
15073                                                           /* 33222222222211111111110000000000
15074                                                              10987654321098765432109876543210
15075                                                              1x001110xx1xxxxx100010xxxxxxxxxx
15076                                                              sha512su1.  */
15077                                                           return 2047;
15078                                                         }
15079                                                     }
15080                                                   else
15081                                                     {
15082                                                       if (((word >> 16) & 0x1) == 0)
15083                                                         {
15084                                                           /* 33222222222211111111110000000000
15085                                                              10987654321098765432109876543210
15086                                                              xx101110xx1xxxx0100010xxxxxxxxxx
15087                                                              cmge.  */
15088                                                           return 219;
15089                                                         }
15090                                                       else
15091                                                         {
15092                                                           if (((word >> 19) & 0x1) == 0)
15093                                                             {
15094                                                               /* 33222222222211111111110000000000
15095                                                                  10987654321098765432109876543210
15096                                                                  xx101110xx1x0xx1100010xxxxxxxxxx
15097                                                                  frinta.  */
15098                                                               return 230;
15099                                                             }
15100                                                           else
15101                                                             {
15102                                                               /* 33222222222211111111110000000000
15103                                                                  10987654321098765432109876543210
15104                                                                  xx101110xx1x1xx1100010xxxxxxxxxx
15105                                                                  frinta.  */
15106                                                               return 231;
15107                                                             }
15108                                                         }
15109                                                     }
15110                                                 }
15111                                               else
15112                                                 {
15113                                                   if (((word >> 23) & 0x1) == 0)
15114                                                     {
15115                                                       if (((word >> 29) & 0x1) == 0)
15116                                                         {
15117                                                           if (((word >> 31) & 0x1) == 0)
15118                                                             {
15119                                                               if (((word >> 16) & 0x1) == 0)
15120                                                                 {
15121                                                                   /* 33222222222211111111110000000000
15122                                                                      10987654321098765432109876543210
15123                                                                      0x0011100x1xxxx0110010xxxxxxxxxx
15124                                                                      fmaxnmv.  */
15125                                                                   return 37;
15126                                                                 }
15127                                                               else
15128                                                                 {
15129                                                                   if (((word >> 19) & 0x1) == 0)
15130                                                                     {
15131                                                                       /* 33222222222211111111110000000000
15132                                                                          10987654321098765432109876543210
15133                                                                          0x0011100x1x0xx1110010xxxxxxxxxx
15134                                                                          fcvtas.  */
15135                                                                       return 190;
15136                                                                     }
15137                                                                   else
15138                                                                     {
15139                                                                       /* 33222222222211111111110000000000
15140                                                                          10987654321098765432109876543210
15141                                                                          0x0011100x1x1xx1110010xxxxxxxxxx
15142                                                                          fcvtas.  */
15143                                                                       return 191;
15144                                                                     }
15145                                                                 }
15146                                                             }
15147                                                           else
15148                                                             {
15149                                                               /* 33222222222211111111110000000000
15150                                                                  10987654321098765432109876543210
15151                                                                  1x0011100x1xxxxx110010xxxxxxxxxx
15152                                                                  sm4ekey.  */
15153                                                               return 2060;
15154                                                             }
15155                                                         }
15156                                                       else
15157                                                         {
15158                                                           if (((word >> 16) & 0x1) == 0)
15159                                                             {
15160                                                               /* 33222222222211111111110000000000
15161                                                                  10987654321098765432109876543210
15162                                                                  xx1011100x1xxxx0110010xxxxxxxxxx
15163                                                                  fmaxnmv.  */
15164                                                               return 36;
15165                                                             }
15166                                                           else
15167                                                             {
15168                                                               if (((word >> 19) & 0x1) == 0)
15169                                                                 {
15170                                                                   /* 33222222222211111111110000000000
15171                                                                      10987654321098765432109876543210
15172                                                                      xx1011100x1x0xx1110010xxxxxxxxxx
15173                                                                      fcvtau.  */
15174                                                                   return 238;
15175                                                                 }
15176                                                               else
15177                                                                 {
15178                                                                   /* 33222222222211111111110000000000
15179                                                                      10987654321098765432109876543210
15180                                                                      xx1011100x1x1xx1110010xxxxxxxxxx
15181                                                                      fcvtau.  */
15182                                                                   return 239;
15183                                                                 }
15184                                                             }
15185                                                         }
15186                                                     }
15187                                                   else
15188                                                     {
15189                                                       if (((word >> 16) & 0x1) == 0)
15190                                                         {
15191                                                           if (((word >> 19) & 0x1) == 0)
15192                                                             {
15193                                                               if (((word >> 20) & 0x1) == 0)
15194                                                                 {
15195                                                                   if (((word >> 29) & 0x1) == 0)
15196                                                                     {
15197                                                                       /* 33222222222211111111110000000000
15198                                                                          10987654321098765432109876543210
15199                                                                          xx0011101x100xx0110010xxxxxxxxxx
15200                                                                          fcmgt.  */
15201                                                                       return 194;
15202                                                                     }
15203                                                                   else
15204                                                                     {
15205                                                                       /* 33222222222211111111110000000000
15206                                                                          10987654321098765432109876543210
15207                                                                          xx1011101x100xx0110010xxxxxxxxxx
15208                                                                          fcmge.  */
15209                                                                       return 245;
15210                                                                     }
15211                                                                 }
15212                                                               else
15213                                                                 {
15214                                                                   if (((word >> 29) & 0x1) == 0)
15215                                                                     {
15216                                                                       /* 33222222222211111111110000000000
15217                                                                          10987654321098765432109876543210
15218                                                                          xx0011101x110xx0110010xxxxxxxxxx
15219                                                                          fminnmv.  */
15220                                                                       return 41;
15221                                                                     }
15222                                                                   else
15223                                                                     {
15224                                                                       /* 33222222222211111111110000000000
15225                                                                          10987654321098765432109876543210
15226                                                                          xx1011101x110xx0110010xxxxxxxxxx
15227                                                                          fminnmv.  */
15228                                                                       return 40;
15229                                                                     }
15230                                                                 }
15231                                                             }
15232                                                           else
15233                                                             {
15234                                                               if (((word >> 29) & 0x1) == 0)
15235                                                                 {
15236                                                                   /* 33222222222211111111110000000000
15237                                                                      10987654321098765432109876543210
15238                                                                      xx0011101x1x1xx0110010xxxxxxxxxx
15239                                                                      fcmgt.  */
15240                                                                   return 195;
15241                                                                 }
15242                                                               else
15243                                                                 {
15244                                                                   /* 33222222222211111111110000000000
15245                                                                      10987654321098765432109876543210
15246                                                                      xx1011101x1x1xx0110010xxxxxxxxxx
15247                                                                      fcmge.  */
15248                                                                   return 246;
15249                                                                 }
15250                                                             }
15251                                                         }
15252                                                       else
15253                                                         {
15254                                                           if (((word >> 29) & 0x1) == 0)
15255                                                             {
15256                                                               /* 33222222222211111111110000000000
15257                                                                  10987654321098765432109876543210
15258                                                                  xx0011101x1xxxx1110010xxxxxxxxxx
15259                                                                  urecpe.  */
15260                                                               return 210;
15261                                                             }
15262                                                           else
15263                                                             {
15264                                                               /* 33222222222211111111110000000000
15265                                                                  10987654321098765432109876543210
15266                                                                  xx1011101x1xxxx1110010xxxxxxxxxx
15267                                                                  ursqrte.  */
15268                                                               return 257;
15269                                                             }
15270                                                         }
15271                                                     }
15272                                                 }
15273                                             }
15274                                           else
15275                                             {
15276                                               if (((word >> 14) & 0x1) == 0)
15277                                                 {
15278                                                   if (((word >> 16) & 0x1) == 0)
15279                                                     {
15280                                                       if (((word >> 20) & 0x1) == 0)
15281                                                         {
15282                                                           /* 33222222222211111111110000000000
15283                                                              10987654321098765432109876543210
15284                                                              xxx01110xx10xxx0101010xxxxxxxxxx
15285                                                              cmlt.  */
15286                                                           return 172;
15287                                                         }
15288                                                       else
15289                                                         {
15290                                                           if (((word >> 29) & 0x1) == 0)
15291                                                             {
15292                                                               /* 33222222222211111111110000000000
15293                                                                  10987654321098765432109876543210
15294                                                                  xx001110xx11xxx0101010xxxxxxxxxx
15295                                                                  smaxv.  */
15296                                                               return 30;
15297                                                             }
15298                                                           else
15299                                                             {
15300                                                               /* 33222222222211111111110000000000
15301                                                                  10987654321098765432109876543210
15302                                                                  xx101110xx11xxx0101010xxxxxxxxxx
15303                                                                  umaxv.  */
15304                                                               return 34;
15305                                                             }
15306                                                         }
15307                                                     }
15308                                                   else
15309                                                     {
15310                                                       if (((word >> 19) & 0x1) == 0)
15311                                                         {
15312                                                           if (((word >> 20) & 0x1) == 0)
15313                                                             {
15314                                                               if (((word >> 23) & 0x1) == 0)
15315                                                                 {
15316                                                                   if (((word >> 29) & 0x1) == 0)
15317                                                                     {
15318                                                                       /* 33222222222211111111110000000000
15319                                                                          10987654321098765432109876543210
15320                                                                          xx0011100x100xx1101010xxxxxxxxxx
15321                                                                          fcvtns.  */
15322                                                                       return 186;
15323                                                                     }
15324                                                                   else
15325                                                                     {
15326                                                                       /* 33222222222211111111110000000000
15327                                                                          10987654321098765432109876543210
15328                                                                          xx1011100x100xx1101010xxxxxxxxxx
15329                                                                          fcvtnu.  */
15330                                                                       return 234;
15331                                                                     }
15332                                                                 }
15333                                                               else
15334                                                                 {
15335                                                                   if (((word >> 29) & 0x1) == 0)
15336                                                                     {
15337                                                                       /* 33222222222211111111110000000000
15338                                                                          10987654321098765432109876543210
15339                                                                          xx0011101x100xx1101010xxxxxxxxxx
15340                                                                          fcvtps.  */
15341                                                                       return 206;
15342                                                                     }
15343                                                                   else
15344                                                                     {
15345                                                                       /* 33222222222211111111110000000000
15346                                                                          10987654321098765432109876543210
15347                                                                          xx1011101x100xx1101010xxxxxxxxxx
15348                                                                          fcvtpu.  */
15349                                                                       return 253;
15350                                                                     }
15351                                                                 }
15352                                                             }
15353                                                           else
15354                                                             {
15355                                                               if (((word >> 29) & 0x1) == 0)
15356                                                                 {
15357                                                                   /* 33222222222211111111110000000000
15358                                                                      10987654321098765432109876543210
15359                                                                      xx001110xx110xx1101010xxxxxxxxxx
15360                                                                      sminv.  */
15361                                                                   return 31;
15362                                                                 }
15363                                                               else
15364                                                                 {
15365                                                                   /* 33222222222211111111110000000000
15366                                                                      10987654321098765432109876543210
15367                                                                      xx101110xx110xx1101010xxxxxxxxxx
15368                                                                      uminv.  */
15369                                                                   return 35;
15370                                                                 }
15371                                                             }
15372                                                         }
15373                                                       else
15374                                                         {
15375                                                           if (((word >> 23) & 0x1) == 0)
15376                                                             {
15377                                                               if (((word >> 29) & 0x1) == 0)
15378                                                                 {
15379                                                                   /* 33222222222211111111110000000000
15380                                                                      10987654321098765432109876543210
15381                                                                      xx0011100x1x1xx1101010xxxxxxxxxx
15382                                                                      fcvtns.  */
15383                                                                   return 187;
15384                                                                 }
15385                                                               else
15386                                                                 {
15387                                                                   /* 33222222222211111111110000000000
15388                                                                      10987654321098765432109876543210
15389                                                                      xx1011100x1x1xx1101010xxxxxxxxxx
15390                                                                      fcvtnu.  */
15391                                                                   return 235;
15392                                                                 }
15393                                                             }
15394                                                           else
15395                                                             {
15396                                                               if (((word >> 29) & 0x1) == 0)
15397                                                                 {
15398                                                                   /* 33222222222211111111110000000000
15399                                                                      10987654321098765432109876543210
15400                                                                      xx0011101x1x1xx1101010xxxxxxxxxx
15401                                                                      fcvtps.  */
15402                                                                   return 207;
15403                                                                 }
15404                                                               else
15405                                                                 {
15406                                                                   /* 33222222222211111111110000000000
15407                                                                      10987654321098765432109876543210
15408                                                                      xx1011101x1x1xx1101010xxxxxxxxxx
15409                                                                      fcvtpu.  */
15410                                                                   return 254;
15411                                                                 }
15412                                                             }
15413                                                         }
15414                                                     }
15415                                                 }
15416                                               else
15417                                                 {
15418                                                   if (((word >> 16) & 0x1) == 0)
15419                                                     {
15420                                                       if (((word >> 19) & 0x1) == 0)
15421                                                         {
15422                                                           /* 33222222222211111111110000000000
15423                                                              10987654321098765432109876543210
15424                                                              xxx01110xx1x0xx0111010xxxxxxxxxx
15425                                                              fcmlt.  */
15426                                                           return 198;
15427                                                         }
15428                                                       else
15429                                                         {
15430                                                           /* 33222222222211111111110000000000
15431                                                              10987654321098765432109876543210
15432                                                              xxx01110xx1x1xx0111010xxxxxxxxxx
15433                                                              fcmlt.  */
15434                                                           return 199;
15435                                                         }
15436                                                     }
15437                                                   else
15438                                                     {
15439                                                       if (((word >> 29) & 0x1) == 0)
15440                                                         {
15441                                                           /* 33222222222211111111110000000000
15442                                                              10987654321098765432109876543210
15443                                                              xx001110xx1xxxx1111010xxxxxxxxxx
15444                                                              frint32z.  */
15445                                                           return 158;
15446                                                         }
15447                                                       else
15448                                                         {
15449                                                           /* 33222222222211111111110000000000
15450                                                              10987654321098765432109876543210
15451                                                              xx101110xx1xxxx1111010xxxxxxxxxx
15452                                                              frint32x.  */
15453                                                           return 159;
15454                                                         }
15455                                                     }
15456                                                 }
15457                                             }
15458                                         }
15459                                       else
15460                                         {
15461                                           if (((word >> 13) & 0x1) == 0)
15462                                             {
15463                                               if (((word >> 14) & 0x1) == 0)
15464                                                 {
15465                                                   if (((word >> 16) & 0x1) == 0)
15466                                                     {
15467                                                       if (((word >> 29) & 0x1) == 0)
15468                                                         {
15469                                                           /* 33222222222211111111110000000000
15470                                                              10987654321098765432109876543210
15471                                                              xx001110xx1xxxx0100110xxxxxxxxxx
15472                                                              cmeq.  */
15473                                                           return 171;
15474                                                         }
15475                                                       else
15476                                                         {
15477                                                           /* 33222222222211111111110000000000
15478                                                              10987654321098765432109876543210
15479                                                              xx101110xx1xxxx0100110xxxxxxxxxx
15480                                                              cmle.  */
15481                                                           return 220;
15482                                                         }
15483                                                     }
15484                                                   else
15485                                                     {
15486                                                       if (((word >> 19) & 0x1) == 0)
15487                                                         {
15488                                                           if (((word >> 23) & 0x1) == 0)
15489                                                             {
15490                                                               if (((word >> 29) & 0x1) == 0)
15491                                                                 {
15492                                                                   /* 33222222222211111111110000000000
15493                                                                      10987654321098765432109876543210
15494                                                                      xx0011100x1x0xx1100110xxxxxxxxxx
15495                                                                      frintm.  */
15496                                                                   return 184;
15497                                                                 }
15498                                                               else
15499                                                                 {
15500                                                                   /* 33222222222211111111110000000000
15501                                                                      10987654321098765432109876543210
15502                                                                      xx1011100x1x0xx1100110xxxxxxxxxx
15503                                                                      frintx.  */
15504                                                                   return 232;
15505                                                                 }
15506                                                             }
15507                                                           else
15508                                                             {
15509                                                               if (((word >> 29) & 0x1) == 0)
15510                                                                 {
15511                                                                   /* 33222222222211111111110000000000
15512                                                                      10987654321098765432109876543210
15513                                                                      xx0011101x1x0xx1100110xxxxxxxxxx
15514                                                                      frintz.  */
15515                                                                   return 204;
15516                                                                 }
15517                                                               else
15518                                                                 {
15519                                                                   /* 33222222222211111111110000000000
15520                                                                      10987654321098765432109876543210
15521                                                                      xx1011101x1x0xx1100110xxxxxxxxxx
15522                                                                      frinti.  */
15523                                                                   return 251;
15524                                                                 }
15525                                                             }
15526                                                         }
15527                                                       else
15528                                                         {
15529                                                           if (((word >> 23) & 0x1) == 0)
15530                                                             {
15531                                                               if (((word >> 29) & 0x1) == 0)
15532                                                                 {
15533                                                                   /* 33222222222211111111110000000000
15534                                                                      10987654321098765432109876543210
15535                                                                      xx0011100x1x1xx1100110xxxxxxxxxx
15536                                                                      frintm.  */
15537                                                                   return 185;
15538                                                                 }
15539                                                               else
15540                                                                 {
15541                                                                   /* 33222222222211111111110000000000
15542                                                                      10987654321098765432109876543210
15543                                                                      xx1011100x1x1xx1100110xxxxxxxxxx
15544                                                                      frintx.  */
15545                                                                   return 233;
15546                                                                 }
15547                                                             }
15548                                                           else
15549                                                             {
15550                                                               if (((word >> 29) & 0x1) == 0)
15551                                                                 {
15552                                                                   /* 33222222222211111111110000000000
15553                                                                      10987654321098765432109876543210
15554                                                                      xx0011101x1x1xx1100110xxxxxxxxxx
15555                                                                      frintz.  */
15556                                                                   return 205;
15557                                                                 }
15558                                                               else
15559                                                                 {
15560                                                                   /* 33222222222211111111110000000000
15561                                                                      10987654321098765432109876543210
15562                                                                      xx1011101x1x1xx1100110xxxxxxxxxx
15563                                                                      frinti.  */
15564                                                                   return 252;
15565                                                                 }
15566                                                             }
15567                                                         }
15568                                                     }
15569                                                 }
15570                                               else
15571                                                 {
15572                                                   if (((word >> 16) & 0x1) == 0)
15573                                                     {
15574                                                       if (((word >> 19) & 0x1) == 0)
15575                                                         {
15576                                                           if (((word >> 29) & 0x1) == 0)
15577                                                             {
15578                                                               /* 33222222222211111111110000000000
15579                                                                  10987654321098765432109876543210
15580                                                                  xx001110xx1x0xx0110110xxxxxxxxxx
15581                                                                  fcmeq.  */
15582                                                               return 196;
15583                                                             }
15584                                                           else
15585                                                             {
15586                                                               /* 33222222222211111111110000000000
15587                                                                  10987654321098765432109876543210
15588                                                                  xx101110xx1x0xx0110110xxxxxxxxxx
15589                                                                  fcmle.  */
15590                                                               return 247;
15591                                                             }
15592                                                         }
15593                                                       else
15594                                                         {
15595                                                           if (((word >> 29) & 0x1) == 0)
15596                                                             {
15597                                                               /* 33222222222211111111110000000000
15598                                                                  10987654321098765432109876543210
15599                                                                  xx001110xx1x1xx0110110xxxxxxxxxx
15600                                                                  fcmeq.  */
15601                                                               return 197;
15602                                                             }
15603                                                           else
15604                                                             {
15605                                                               /* 33222222222211111111110000000000
15606                                                                  10987654321098765432109876543210
15607                                                                  xx101110xx1x1xx0110110xxxxxxxxxx
15608                                                                  fcmle.  */
15609                                                               return 248;
15610                                                             }
15611                                                         }
15612                                                     }
15613                                                   else
15614                                                     {
15615                                                       if (((word >> 19) & 0x1) == 0)
15616                                                         {
15617                                                           if (((word >> 23) & 0x1) == 0)
15618                                                             {
15619                                                               if (((word >> 29) & 0x1) == 0)
15620                                                                 {
15621                                                                   /* 33222222222211111111110000000000
15622                                                                      10987654321098765432109876543210
15623                                                                      xx0011100x1x0xx1110110xxxxxxxxxx
15624                                                                      scvtf.  */
15625                                                                   return 192;
15626                                                                 }
15627                                                               else
15628                                                                 {
15629                                                                   /* 33222222222211111111110000000000
15630                                                                      10987654321098765432109876543210
15631                                                                      xx1011100x1x0xx1110110xxxxxxxxxx
15632                                                                      ucvtf.  */
15633                                                                   return 240;
15634                                                                 }
15635                                                             }
15636                                                           else
15637                                                             {
15638                                                               if (((word >> 29) & 0x1) == 0)
15639                                                                 {
15640                                                                   /* 33222222222211111111110000000000
15641                                                                      10987654321098765432109876543210
15642                                                                      xx0011101x1x0xx1110110xxxxxxxxxx
15643                                                                      frecpe.  */
15644                                                                   return 211;
15645                                                                 }
15646                                                               else
15647                                                                 {
15648                                                                   /* 33222222222211111111110000000000
15649                                                                      10987654321098765432109876543210
15650                                                                      xx1011101x1x0xx1110110xxxxxxxxxx
15651                                                                      frsqrte.  */
15652                                                                   return 258;
15653                                                                 }
15654                                                             }
15655                                                         }
15656                                                       else
15657                                                         {
15658                                                           if (((word >> 23) & 0x1) == 0)
15659                                                             {
15660                                                               if (((word >> 29) & 0x1) == 0)
15661                                                                 {
15662                                                                   /* 33222222222211111111110000000000
15663                                                                      10987654321098765432109876543210
15664                                                                      xx0011100x1x1xx1110110xxxxxxxxxx
15665                                                                      scvtf.  */
15666                                                                   return 193;
15667                                                                 }
15668                                                               else
15669                                                                 {
15670                                                                   /* 33222222222211111111110000000000
15671                                                                      10987654321098765432109876543210
15672                                                                      xx1011100x1x1xx1110110xxxxxxxxxx
15673                                                                      ucvtf.  */
15674                                                                   return 241;
15675                                                                 }
15676                                                             }
15677                                                           else
15678                                                             {
15679                                                               if (((word >> 29) & 0x1) == 0)
15680                                                                 {
15681                                                                   /* 33222222222211111111110000000000
15682                                                                      10987654321098765432109876543210
15683                                                                      xx0011101x1x1xx1110110xxxxxxxxxx
15684                                                                      frecpe.  */
15685                                                                   return 212;
15686                                                                 }
15687                                                               else
15688                                                                 {
15689                                                                   /* 33222222222211111111110000000000
15690                                                                      10987654321098765432109876543210
15691                                                                      xx1011101x1x1xx1110110xxxxxxxxxx
15692                                                                      frsqrte.  */
15693                                                                   return 259;
15694                                                                 }
15695                                                             }
15696                                                         }
15697                                                     }
15698                                                 }
15699                                             }
15700                                           else
15701                                             {
15702                                               if (((word >> 14) & 0x1) == 0)
15703                                                 {
15704                                                   if (((word >> 16) & 0x1) == 0)
15705                                                     {
15706                                                       if (((word >> 29) & 0x1) == 0)
15707                                                         {
15708                                                           /* 33222222222211111111110000000000
15709                                                              10987654321098765432109876543210
15710                                                              xx001110xx1xxxx0101110xxxxxxxxxx
15711                                                              abs.  */
15712                                                           return 173;
15713                                                         }
15714                                                       else
15715                                                         {
15716                                                           /* 33222222222211111111110000000000
15717                                                              10987654321098765432109876543210
15718                                                              xx101110xx1xxxx0101110xxxxxxxxxx
15719                                                              neg.  */
15720                                                           return 221;
15721                                                         }
15722                                                     }
15723                                                   else
15724                                                     {
15725                                                       if (((word >> 19) & 0x1) == 0)
15726                                                         {
15727                                                           if (((word >> 20) & 0x1) == 0)
15728                                                             {
15729                                                               if (((word >> 23) & 0x1) == 0)
15730                                                                 {
15731                                                                   if (((word >> 29) & 0x1) == 0)
15732                                                                     {
15733                                                                       /* 33222222222211111111110000000000
15734                                                                          10987654321098765432109876543210
15735                                                                          xx0011100x100xx1101110xxxxxxxxxx
15736                                                                          fcvtms.  */
15737                                                                       return 188;
15738                                                                     }
15739                                                                   else
15740                                                                     {
15741                                                                       /* 33222222222211111111110000000000
15742                                                                          10987654321098765432109876543210
15743                                                                          xx1011100x100xx1101110xxxxxxxxxx
15744                                                                          fcvtmu.  */
15745                                                                       return 236;
15746                                                                     }
15747                                                                 }
15748                                                               else
15749                                                                 {
15750                                                                   if (((word >> 29) & 0x1) == 0)
15751                                                                     {
15752                                                                       /* 33222222222211111111110000000000
15753                                                                          10987654321098765432109876543210
15754                                                                          xx0011101x100xx1101110xxxxxxxxxx
15755                                                                          fcvtzs.  */
15756                                                                       return 208;
15757                                                                     }
15758                                                                   else
15759                                                                     {
15760                                                                       /* 33222222222211111111110000000000
15761                                                                          10987654321098765432109876543210
15762                                                                          xx1011101x100xx1101110xxxxxxxxxx
15763                                                                          fcvtzu.  */
15764                                                                       return 255;
15765                                                                     }
15766                                                                 }
15767                                                             }
15768                                                           else
15769                                                             {
15770                                                               /* 33222222222211111111110000000000
15771                                                                  10987654321098765432109876543210
15772                                                                  xxx01110xx110xx1101110xxxxxxxxxx
15773                                                                  addv.  */
15774                                                               return 32;
15775                                                             }
15776                                                         }
15777                                                       else
15778                                                         {
15779                                                           if (((word >> 23) & 0x1) == 0)
15780                                                             {
15781                                                               if (((word >> 29) & 0x1) == 0)
15782                                                                 {
15783                                                                   /* 33222222222211111111110000000000
15784                                                                      10987654321098765432109876543210
15785                                                                      xx0011100x1x1xx1101110xxxxxxxxxx
15786                                                                      fcvtms.  */
15787                                                                   return 189;
15788                                                                 }
15789                                                               else
15790                                                                 {
15791                                                                   /* 33222222222211111111110000000000
15792                                                                      10987654321098765432109876543210
15793                                                                      xx1011100x1x1xx1101110xxxxxxxxxx
15794                                                                      fcvtmu.  */
15795                                                                   return 237;
15796                                                                 }
15797                                                             }
15798                                                           else
15799                                                             {
15800                                                               if (((word >> 29) & 0x1) == 0)
15801                                                                 {
15802                                                                   /* 33222222222211111111110000000000
15803                                                                      10987654321098765432109876543210
15804                                                                      xx0011101x1x1xx1101110xxxxxxxxxx
15805                                                                      fcvtzs.  */
15806                                                                   return 209;
15807                                                                 }
15808                                                               else
15809                                                                 {
15810                                                                   /* 33222222222211111111110000000000
15811                                                                      10987654321098765432109876543210
15812                                                                      xx1011101x1x1xx1101110xxxxxxxxxx
15813                                                                      fcvtzu.  */
15814                                                                   return 256;
15815                                                                 }
15816                                                             }
15817                                                         }
15818                                                     }
15819                                                 }
15820                                               else
15821                                                 {
15822                                                   if (((word >> 16) & 0x1) == 0)
15823                                                     {
15824                                                       if (((word >> 19) & 0x1) == 0)
15825                                                         {
15826                                                           if (((word >> 20) & 0x1) == 0)
15827                                                             {
15828                                                               if (((word >> 29) & 0x1) == 0)
15829                                                                 {
15830                                                                   /* 33222222222211111111110000000000
15831                                                                      10987654321098765432109876543210
15832                                                                      xx001110xx100xx0111110xxxxxxxxxx
15833                                                                      fabs.  */
15834                                                                   return 200;
15835                                                                 }
15836                                                               else
15837                                                                 {
15838                                                                   /* 33222222222211111111110000000000
15839                                                                      10987654321098765432109876543210
15840                                                                      xx101110xx100xx0111110xxxxxxxxxx
15841                                                                      fneg.  */
15842                                                                   return 249;
15843                                                                 }
15844                                                             }
15845                                                           else
15846                                                             {
15847                                                               if (((word >> 23) & 0x1) == 0)
15848                                                                 {
15849                                                                   if (((word >> 29) & 0x1) == 0)
15850                                                                     {
15851                                                                       /* 33222222222211111111110000000000
15852                                                                          10987654321098765432109876543210
15853                                                                          xx0011100x110xx0111110xxxxxxxxxx
15854                                                                          fmaxv.  */
15855                                                                       return 39;
15856                                                                     }
15857                                                                   else
15858                                                                     {
15859                                                                       /* 33222222222211111111110000000000
15860                                                                          10987654321098765432109876543210
15861                                                                          xx1011100x110xx0111110xxxxxxxxxx
15862                                                                          fmaxv.  */
15863                                                                       return 38;
15864                                                                     }
15865                                                                 }
15866                                                               else
15867                                                                 {
15868                                                                   if (((word >> 29) & 0x1) == 0)
15869                                                                     {
15870                                                                       /* 33222222222211111111110000000000
15871                                                                          10987654321098765432109876543210
15872                                                                          xx0011101x110xx0111110xxxxxxxxxx
15873                                                                          fminv.  */
15874                                                                       return 43;
15875                                                                     }
15876                                                                   else
15877                                                                     {
15878                                                                       /* 33222222222211111111110000000000
15879                                                                          10987654321098765432109876543210
15880                                                                          xx1011101x110xx0111110xxxxxxxxxx
15881                                                                          fminv.  */
15882                                                                       return 42;
15883                                                                     }
15884                                                                 }
15885                                                             }
15886                                                         }
15887                                                       else
15888                                                         {
15889                                                           if (((word >> 29) & 0x1) == 0)
15890                                                             {
15891                                                               /* 33222222222211111111110000000000
15892                                                                  10987654321098765432109876543210
15893                                                                  xx001110xx1x1xx0111110xxxxxxxxxx
15894                                                                  fabs.  */
15895                                                               return 201;
15896                                                             }
15897                                                           else
15898                                                             {
15899                                                               /* 33222222222211111111110000000000
15900                                                                  10987654321098765432109876543210
15901                                                                  xx101110xx1x1xx0111110xxxxxxxxxx
15902                                                                  fneg.  */
15903                                                               return 250;
15904                                                             }
15905                                                         }
15906                                                     }
15907                                                   else
15908                                                     {
15909                                                       if (((word >> 19) & 0x1) == 0)
15910                                                         {
15911                                                           if (((word >> 23) & 0x1) == 0)
15912                                                             {
15913                                                               if (((word >> 29) & 0x1) == 0)
15914                                                                 {
15915                                                                   /* 33222222222211111111110000000000
15916                                                                      10987654321098765432109876543210
15917                                                                      xx0011100x1x0xx1111110xxxxxxxxxx
15918                                                                      frint64z.  */
15919                                                                   return 160;
15920                                                                 }
15921                                                               else
15922                                                                 {
15923                                                                   /* 33222222222211111111110000000000
15924                                                                      10987654321098765432109876543210
15925                                                                      xx1011100x1x0xx1111110xxxxxxxxxx
15926                                                                      frint64x.  */
15927                                                                   return 161;
15928                                                                 }
15929                                                             }
15930                                                           else
15931                                                             {
15932                                                               /* 33222222222211111111110000000000
15933                                                                  10987654321098765432109876543210
15934                                                                  xxx011101x1x0xx1111110xxxxxxxxxx
15935                                                                  fsqrt.  */
15936                                                               return 260;
15937                                                             }
15938                                                         }
15939                                                       else
15940                                                         {
15941                                                           /* 33222222222211111111110000000000
15942                                                              10987654321098765432109876543210
15943                                                              xxx01110xx1x1xx1111110xxxxxxxxxx
15944                                                              fsqrt.  */
15945                                                           return 261;
15946                                                         }
15947                                                     }
15948                                                 }
15949                                             }
15950                                         }
15951                                     }
15952                                 }
15953                               else
15954                                 {
15955                                   if (((word >> 11) & 0x1) == 0)
15956                                     {
15957                                       if (((word >> 12) & 0x1) == 0)
15958                                         {
15959                                           if (((word >> 13) & 0x1) == 0)
15960                                             {
15961                                               if (((word >> 14) & 0x1) == 0)
15962                                                 {
15963                                                   if (((word >> 29) & 0x1) == 0)
15964                                                     {
15965                                                       if (((word >> 31) & 0x1) == 0)
15966                                                         {
15967                                                           /* 33222222222211111111110000000000
15968                                                              10987654321098765432109876543210
15969                                                              0x001110xx1xxxxx100001xxxxxxxxxx
15970                                                              add.  */
15971                                                           return 283;
15972                                                         }
15973                                                       else
15974                                                         {
15975                                                           /* 33222222222211111111110000000000
15976                                                              10987654321098765432109876543210
15977                                                              1x001110xx1xxxxx100001xxxxxxxxxx
15978                                                              sha512h2.  */
15979                                                           return 2045;
15980                                                         }
15981                                                     }
15982                                                   else
15983                                                     {
15984                                                       /* 33222222222211111111110000000000
15985                                                          10987654321098765432109876543210
15986                                                          xx101110xx1xxxxx100001xxxxxxxxxx
15987                                                          sub.  */
15988                                                       return 335;
15989                                                     }
15990                                                 }
15991                                               else
15992                                                 {
15993                                                   if (((word >> 23) & 0x1) == 0)
15994                                                     {
15995                                                       if (((word >> 29) & 0x1) == 0)
15996                                                         {
15997                                                           if (((word >> 31) & 0x1) == 0)
15998                                                             {
15999                                                               /* 33222222222211111111110000000000
16000                                                                  10987654321098765432109876543210
16001                                                                  0x0011100x1xxxxx110001xxxxxxxxxx
16002                                                                  fmaxnm.  */
16003                                                               return 291;
16004                                                             }
16005                                                           else
16006                                                             {
16007                                                               /* 33222222222211111111110000000000
16008                                                                  10987654321098765432109876543210
16009                                                                  1x0011100x1xxxxx110001xxxxxxxxxx
16010                                                                  sm3partw2.  */
16011                                                               return 2058;
16012                                                             }
16013                                                         }
16014                                                       else
16015                                                         {
16016                                                           /* 33222222222211111111110000000000
16017                                                              10987654321098765432109876543210
16018                                                              xx1011100x1xxxxx110001xxxxxxxxxx
16019                                                              fmaxnmp.  */
16020                                                           return 342;
16021                                                         }
16022                                                     }
16023                                                   else
16024                                                     {
16025                                                       if (((word >> 29) & 0x1) == 0)
16026                                                         {
16027                                                           /* 33222222222211111111110000000000
16028                                                              10987654321098765432109876543210
16029                                                              xx0011101x1xxxxx110001xxxxxxxxxx
16030                                                              fminnm.  */
16031                                                           return 307;
16032                                                         }
16033                                                       else
16034                                                         {
16035                                                           /* 33222222222211111111110000000000
16036                                                              10987654321098765432109876543210
16037                                                              xx1011101x1xxxxx110001xxxxxxxxxx
16038                                                              fminnmp.  */
16039                                                           return 358;
16040                                                         }
16041                                                     }
16042                                                 }
16043                                             }
16044                                           else
16045                                             {
16046                                               if (((word >> 14) & 0x1) == 0)
16047                                                 {
16048                                                   if (((word >> 29) & 0x1) == 0)
16049                                                     {
16050                                                       /* 33222222222211111111110000000000
16051                                                          10987654321098765432109876543210
16052                                                          xx001110xx1xxxxx101001xxxxxxxxxx
16053                                                          smaxp.  */
16054                                                       return 287;
16055                                                     }
16056                                                   else
16057                                                     {
16058                                                       /* 33222222222211111111110000000000
16059                                                          10987654321098765432109876543210
16060                                                          xx101110xx1xxxxx101001xxxxxxxxxx
16061                                                          umaxp.  */
16062                                                       return 339;
16063                                                     }
16064                                                 }
16065                                               else
16066                                                 {
16067                                                   if (((word >> 23) & 0x1) == 0)
16068                                                     {
16069                                                       if (((word >> 29) & 0x1) == 0)
16070                                                         {
16071                                                           /* 33222222222211111111110000000000
16072                                                              10987654321098765432109876543210
16073                                                              xx0011100x1xxxxx111001xxxxxxxxxx
16074                                                              fcmeq.  */
16075                                                           return 299;
16076                                                         }
16077                                                       else
16078                                                         {
16079                                                           /* 33222222222211111111110000000000
16080                                                              10987654321098765432109876543210
16081                                                              xx1011100x1xxxxx111001xxxxxxxxxx
16082                                                              fcmge.  */
16083                                                           return 348;
16084                                                         }
16085                                                     }
16086                                                   else
16087                                                     {
16088                                                       /* 33222222222211111111110000000000
16089                                                          10987654321098765432109876543210
16090                                                          xxx011101x1xxxxx111001xxxxxxxxxx
16091                                                          fcmgt.  */
16092                                                       return 362;
16093                                                     }
16094                                                 }
16095                                             }
16096                                         }
16097                                       else
16098                                         {
16099                                           if (((word >> 13) & 0x1) == 0)
16100                                             {
16101                                               if (((word >> 14) & 0x1) == 0)
16102                                                 {
16103                                                   if (((word >> 29) & 0x1) == 0)
16104                                                     {
16105                                                       /* 33222222222211111111110000000000
16106                                                          10987654321098765432109876543210
16107                                                          xx001110xx1xxxxx100101xxxxxxxxxx
16108                                                          mla.  */
16109                                                       return 285;
16110                                                     }
16111                                                   else
16112                                                     {
16113                                                       /* 33222222222211111111110000000000
16114                                                          10987654321098765432109876543210
16115                                                          xx101110xx1xxxxx100101xxxxxxxxxx
16116                                                          mls.  */
16117                                                       return 337;
16118                                                     }
16119                                                 }
16120                                               else
16121                                                 {
16122                                                   if (((word >> 23) & 0x1) == 0)
16123                                                     {
16124                                                       if (((word >> 29) & 0x1) == 0)
16125                                                         {
16126                                                           /* 33222222222211111111110000000000
16127                                                              10987654321098765432109876543210
16128                                                              xx0011100x1xxxxx110101xxxxxxxxxx
16129                                                              fadd.  */
16130                                                           return 295;
16131                                                         }
16132                                                       else
16133                                                         {
16134                                                           /* 33222222222211111111110000000000
16135                                                              10987654321098765432109876543210
16136                                                              xx1011100x1xxxxx110101xxxxxxxxxx
16137                                                              faddp.  */
16138                                                           return 344;
16139                                                         }
16140                                                     }
16141                                                   else
16142                                                     {
16143                                                       if (((word >> 29) & 0x1) == 0)
16144                                                         {
16145                                                           /* 33222222222211111111110000000000
16146                                                              10987654321098765432109876543210
16147                                                              xx0011101x1xxxxx110101xxxxxxxxxx
16148                                                              fsub.  */
16149                                                           return 311;
16150                                                         }
16151                                                       else
16152                                                         {
16153                                                           /* 33222222222211111111110000000000
16154                                                              10987654321098765432109876543210
16155                                                              xx1011101x1xxxxx110101xxxxxxxxxx
16156                                                              fabd.  */
16157                                                           return 360;
16158                                                         }
16159                                                     }
16160                                                 }
16161                                             }
16162                                           else
16163                                             {
16164                                               if (((word >> 14) & 0x1) == 0)
16165                                                 {
16166                                                   if (((word >> 29) & 0x1) == 0)
16167                                                     {
16168                                                       /* 33222222222211111111110000000000
16169                                                          10987654321098765432109876543210
16170                                                          xx001110xx1xxxxx101101xxxxxxxxxx
16171                                                          sqdmulh.  */
16172                                                       return 289;
16173                                                     }
16174                                                   else
16175                                                     {
16176                                                       /* 33222222222211111111110000000000
16177                                                          10987654321098765432109876543210
16178                                                          xx101110xx1xxxxx101101xxxxxxxxxx
16179                                                          sqrdmulh.  */
16180                                                       return 341;
16181                                                     }
16182                                                 }
16183                                               else
16184                                                 {
16185                                                   if (((word >> 23) & 0x1) == 0)
16186                                                     {
16187                                                       if (((word >> 29) & 0x1) == 0)
16188                                                         {
16189                                                           /* 33222222222211111111110000000000
16190                                                              10987654321098765432109876543210
16191                                                              xx0011100x1xxxxx111101xxxxxxxxxx
16192                                                              fmax.  */
16193                                                           return 301;
16194                                                         }
16195                                                       else
16196                                                         {
16197                                                           /* 33222222222211111111110000000000
16198                                                              10987654321098765432109876543210
16199                                                              xx1011100x1xxxxx111101xxxxxxxxxx
16200                                                              fmaxp.  */
16201                                                           return 352;
16202                                                         }
16203                                                     }
16204                                                   else
16205                                                     {
16206                                                       if (((word >> 29) & 0x1) == 0)
16207                                                         {
16208                                                           /* 33222222222211111111110000000000
16209                                                              10987654321098765432109876543210
16210                                                              xx0011101x1xxxxx111101xxxxxxxxxx
16211                                                              fmin.  */
16212                                                           return 313;
16213                                                         }
16214                                                       else
16215                                                         {
16216                                                           /* 33222222222211111111110000000000
16217                                                              10987654321098765432109876543210
16218                                                              xx1011101x1xxxxx111101xxxxxxxxxx
16219                                                              fminp.  */
16220                                                           return 366;
16221                                                         }
16222                                                     }
16223                                                 }
16224                                             }
16225                                         }
16226                                     }
16227                                   else
16228                                     {
16229                                       if (((word >> 12) & 0x1) == 0)
16230                                         {
16231                                           if (((word >> 13) & 0x1) == 0)
16232                                             {
16233                                               if (((word >> 14) & 0x1) == 0)
16234                                                 {
16235                                                   if (((word >> 29) & 0x1) == 0)
16236                                                     {
16237                                                       if (((word >> 31) & 0x1) == 0)
16238                                                         {
16239                                                           /* 33222222222211111111110000000000
16240                                                              10987654321098765432109876543210
16241                                                              0x001110xx1xxxxx100011xxxxxxxxxx
16242                                                              cmtst.  */
16243                                                           return 284;
16244                                                         }
16245                                                       else
16246                                                         {
16247                                                           /* 33222222222211111111110000000000
16248                                                              10987654321098765432109876543210
16249                                                              1x001110xx1xxxxx100011xxxxxxxxxx
16250                                                              rax1.  */
16251                                                           return 2049;
16252                                                         }
16253                                                     }
16254                                                   else
16255                                                     {
16256                                                       /* 33222222222211111111110000000000
16257                                                          10987654321098765432109876543210
16258                                                          xx101110xx1xxxxx100011xxxxxxxxxx
16259                                                          cmeq.  */
16260                                                       return 336;
16261                                                     }
16262                                                 }
16263                                               else
16264                                                 {
16265                                                   if (((word >> 23) & 0x1) == 0)
16266                                                     {
16267                                                       if (((word >> 29) & 0x1) == 0)
16268                                                         {
16269                                                           /* 33222222222211111111110000000000
16270                                                              10987654321098765432109876543210
16271                                                              xx0011100x1xxxxx110011xxxxxxxxxx
16272                                                              fmla.  */
16273                                                           return 293;
16274                                                         }
16275                                                       else
16276                                                         {
16277                                                           if (((word >> 30) & 0x1) == 0)
16278                                                             {
16279                                                               /* 33222222222211111111110000000000
16280                                                                  10987654321098765432109876543210
16281                                                                  x01011100x1xxxxx110011xxxxxxxxxx
16282                                                                  fmlal2.  */
16283                                                               return 2063;
16284                                                             }
16285                                                           else
16286                                                             {
16287                                                               /* 33222222222211111111110000000000
16288                                                                  10987654321098765432109876543210
16289                                                                  x11011100x1xxxxx110011xxxxxxxxxx
16290                                                                  fmlal2.  */
16291                                                               return 2067;
16292                                                             }
16293                                                         }
16294                                                     }
16295                                                   else
16296                                                     {
16297                                                       if (((word >> 29) & 0x1) == 0)
16298                                                         {
16299                                                           /* 33222222222211111111110000000000
16300                                                              10987654321098765432109876543210
16301                                                              xx0011101x1xxxxx110011xxxxxxxxxx
16302                                                              fmls.  */
16303                                                           return 309;
16304                                                         }
16305                                                       else
16306                                                         {
16307                                                           if (((word >> 30) & 0x1) == 0)
16308                                                             {
16309                                                               /* 33222222222211111111110000000000
16310                                                                  10987654321098765432109876543210
16311                                                                  x01011101x1xxxxx110011xxxxxxxxxx
16312                                                                  fmlsl2.  */
16313                                                               return 2064;
16314                                                             }
16315                                                           else
16316                                                             {
16317                                                               /* 33222222222211111111110000000000
16318                                                                  10987654321098765432109876543210
16319                                                                  x11011101x1xxxxx110011xxxxxxxxxx
16320                                                                  fmlsl2.  */
16321                                                               return 2068;
16322                                                             }
16323                                                         }
16324                                                     }
16325                                                 }
16326                                             }
16327                                           else
16328                                             {
16329                                               if (((word >> 14) & 0x1) == 0)
16330                                                 {
16331                                                   if (((word >> 29) & 0x1) == 0)
16332                                                     {
16333                                                       /* 33222222222211111111110000000000
16334                                                          10987654321098765432109876543210
16335                                                          xx001110xx1xxxxx101011xxxxxxxxxx
16336                                                          sminp.  */
16337                                                       return 288;
16338                                                     }
16339                                                   else
16340                                                     {
16341                                                       /* 33222222222211111111110000000000
16342                                                          10987654321098765432109876543210
16343                                                          xx101110xx1xxxxx101011xxxxxxxxxx
16344                                                          uminp.  */
16345                                                       return 340;
16346                                                     }
16347                                                 }
16348                                               else
16349                                                 {
16350                                                   if (((word >> 23) & 0x1) == 0)
16351                                                     {
16352                                                       if (((word >> 29) & 0x1) == 0)
16353                                                         {
16354                                                           if (((word >> 30) & 0x1) == 0)
16355                                                             {
16356                                                               /* 33222222222211111111110000000000
16357                                                                  10987654321098765432109876543210
16358                                                                  x00011100x1xxxxx111011xxxxxxxxxx
16359                                                                  fmlal.  */
16360                                                               return 2061;
16361                                                             }
16362                                                           else
16363                                                             {
16364                                                               /* 33222222222211111111110000000000
16365                                                                  10987654321098765432109876543210
16366                                                                  x10011100x1xxxxx111011xxxxxxxxxx
16367                                                                  fmlal.  */
16368                                                               return 2065;
16369                                                             }
16370                                                         }
16371                                                       else
16372                                                         {
16373                                                           /* 33222222222211111111110000000000
16374                                                              10987654321098765432109876543210
16375                                                              xx1011100x1xxxxx111011xxxxxxxxxx
16376                                                              facge.  */
16377                                                           return 350;
16378                                                         }
16379                                                     }
16380                                                   else
16381                                                     {
16382                                                       if (((word >> 29) & 0x1) == 0)
16383                                                         {
16384                                                           if (((word >> 30) & 0x1) == 0)
16385                                                             {
16386                                                               /* 33222222222211111111110000000000
16387                                                                  10987654321098765432109876543210
16388                                                                  x00011101x1xxxxx111011xxxxxxxxxx
16389                                                                  fmlsl.  */
16390                                                               return 2062;
16391                                                             }
16392                                                           else
16393                                                             {
16394                                                               /* 33222222222211111111110000000000
16395                                                                  10987654321098765432109876543210
16396                                                                  x10011101x1xxxxx111011xxxxxxxxxx
16397                                                                  fmlsl.  */
16398                                                               return 2066;
16399                                                             }
16400                                                         }
16401                                                       else
16402                                                         {
16403                                                           /* 33222222222211111111110000000000
16404                                                              10987654321098765432109876543210
16405                                                              xx1011101x1xxxxx111011xxxxxxxxxx
16406                                                              facgt.  */
16407                                                           return 364;
16408                                                         }
16409                                                     }
16410                                                 }
16411                                             }
16412                                         }
16413                                       else
16414                                         {
16415                                           if (((word >> 13) & 0x1) == 0)
16416                                             {
16417                                               if (((word >> 14) & 0x1) == 0)
16418                                                 {
16419                                                   if (((word >> 29) & 0x1) == 0)
16420                                                     {
16421                                                       /* 33222222222211111111110000000000
16422                                                          10987654321098765432109876543210
16423                                                          xx001110xx1xxxxx100111xxxxxxxxxx
16424                                                          mul.  */
16425                                                       return 286;
16426                                                     }
16427                                                   else
16428                                                     {
16429                                                       /* 33222222222211111111110000000000
16430                                                          10987654321098765432109876543210
16431                                                          xx101110xx1xxxxx100111xxxxxxxxxx
16432                                                          pmul.  */
16433                                                       return 338;
16434                                                     }
16435                                                 }
16436                                               else
16437                                                 {
16438                                                   if (((word >> 29) & 0x1) == 0)
16439                                                     {
16440                                                       /* 33222222222211111111110000000000
16441                                                          10987654321098765432109876543210
16442                                                          xx001110xx1xxxxx110111xxxxxxxxxx
16443                                                          fmulx.  */
16444                                                       return 297;
16445                                                     }
16446                                                   else
16447                                                     {
16448                                                       /* 33222222222211111111110000000000
16449                                                          10987654321098765432109876543210
16450                                                          xx101110xx1xxxxx110111xxxxxxxxxx
16451                                                          fmul.  */
16452                                                       return 346;
16453                                                     }
16454                                                 }
16455                                             }
16456                                           else
16457                                             {
16458                                               if (((word >> 14) & 0x1) == 0)
16459                                                 {
16460                                                   /* 33222222222211111111110000000000
16461                                                      10987654321098765432109876543210
16462                                                      xxx01110xx1xxxxx101111xxxxxxxxxx
16463                                                      addp.  */
16464                                                   return 290;
16465                                                 }
16466                                               else
16467                                                 {
16468                                                   if (((word >> 23) & 0x1) == 0)
16469                                                     {
16470                                                       if (((word >> 29) & 0x1) == 0)
16471                                                         {
16472                                                           /* 33222222222211111111110000000000
16473                                                              10987654321098765432109876543210
16474                                                              xx0011100x1xxxxx111111xxxxxxxxxx
16475                                                              frecps.  */
16476                                                           return 303;
16477                                                         }
16478                                                       else
16479                                                         {
16480                                                           /* 33222222222211111111110000000000
16481                                                              10987654321098765432109876543210
16482                                                              xx1011100x1xxxxx111111xxxxxxxxxx
16483                                                              fdiv.  */
16484                                                           return 354;
16485                                                         }
16486                                                     }
16487                                                   else
16488                                                     {
16489                                                       /* 33222222222211111111110000000000
16490                                                          10987654321098765432109876543210
16491                                                          xxx011101x1xxxxx111111xxxxxxxxxx
16492                                                          frsqrts.  */
16493                                                       return 315;
16494                                                     }
16495                                                 }
16496                                             }
16497                                         }
16498                                     }
16499                                 }
16500                             }
16501                         }
16502                       else
16503                         {
16504                           if (((word >> 10) & 0x1) == 0)
16505                             {
16506                               if (((word >> 11) & 0x1) == 0)
16507                                 {
16508                                   if (((word >> 12) & 0x1) == 0)
16509                                     {
16510                                       if (((word >> 13) & 0x1) == 0)
16511                                         {
16512                                           if (((word >> 14) & 0x1) == 0)
16513                                             {
16514                                               if (((word >> 16) & 0x1) == 0)
16515                                                 {
16516                                                   if (((word >> 17) & 0x1) == 0)
16517                                                     {
16518                                                       if (((word >> 18) & 0x1) == 0)
16519                                                         {
16520                                                           if (((word >> 19) & 0x1) == 0)
16521                                                             {
16522                                                               if (((word >> 20) & 0x1) == 0)
16523                                                                 {
16524                                                                   /* 33222222222211111111110000000000
16525                                                                      10987654321098765432109876543210
16526                                                                      xxx11110xx100000x00000xxxxxxxxxx
16527                                                                      fcvtns.  */
16528                                                                   return 767;
16529                                                                 }
16530                                                               else
16531                                                                 {
16532                                                                   /* 33222222222211111111110000000000
16533                                                                      10987654321098765432109876543210
16534                                                                      xxx11110xx110000x00000xxxxxxxxxx
16535                                                                      fcvtms.  */
16536                                                                   return 787;
16537                                                                 }
16538                                                             }
16539                                                           else
16540                                                             {
16541                                                               if (((word >> 20) & 0x1) == 0)
16542                                                                 {
16543                                                                   /* 33222222222211111111110000000000
16544                                                                      10987654321098765432109876543210
16545                                                                      xxx11110xx101000x00000xxxxxxxxxx
16546                                                                      fcvtps.  */
16547                                                                   return 783;
16548                                                                 }
16549                                                               else
16550                                                                 {
16551                                                                   /* 33222222222211111111110000000000
16552                                                                      10987654321098765432109876543210
16553                                                                      xxx11110xx111000x00000xxxxxxxxxx
16554                                                                      fcvtzs.  */
16555                                                                   return 791;
16556                                                                 }
16557                                                             }
16558                                                         }
16559                                                       else
16560                                                         {
16561                                                           /* 33222222222211111111110000000000
16562                                                              10987654321098765432109876543210
16563                                                              xxx11110xx1xx100x00000xxxxxxxxxx
16564                                                              fcvtas.  */
16565                                                           return 775;
16566                                                         }
16567                                                     }
16568                                                   else
16569                                                     {
16570                                                       if (((word >> 18) & 0x1) == 0)
16571                                                         {
16572                                                           /* 33222222222211111111110000000000
16573                                                              10987654321098765432109876543210
16574                                                              xxx11110xx1xx010x00000xxxxxxxxxx
16575                                                              scvtf.  */
16576                                                           return 771;
16577                                                         }
16578                                                       else
16579                                                         {
16580                                                           if (((word >> 19) & 0x1) == 0)
16581                                                             {
16582                                                               /* 33222222222211111111110000000000
16583                                                                  10987654321098765432109876543210
16584                                                                  xxx11110xx1x0110x00000xxxxxxxxxx
16585                                                                  fmov.  */
16586                                                               return 779;
16587                                                             }
16588                                                           else
16589                                                             {
16590                                                               if (((word >> 20) & 0x1) == 0)
16591                                                                 {
16592                                                                   /* 33222222222211111111110000000000
16593                                                                      10987654321098765432109876543210
16594                                                                      xxx11110xx101110x00000xxxxxxxxxx
16595                                                                      fmov.  */
16596                                                                   return 795;
16597                                                                 }
16598                                                               else
16599                                                                 {
16600                                                                   /* 33222222222211111111110000000000
16601                                                                      10987654321098765432109876543210
16602                                                                      xxx11110xx111110x00000xxxxxxxxxx
16603                                                                      fjcvtzs.  */
16604                                                                   return 797;
16605                                                                 }
16606                                                             }
16607                                                         }
16608                                                     }
16609                                                 }
16610                                               else
16611                                                 {
16612                                                   if (((word >> 17) & 0x1) == 0)
16613                                                     {
16614                                                       if (((word >> 18) & 0x1) == 0)
16615                                                         {
16616                                                           if (((word >> 19) & 0x1) == 0)
16617                                                             {
16618                                                               if (((word >> 20) & 0x1) == 0)
16619                                                                 {
16620                                                                   /* 33222222222211111111110000000000
16621                                                                      10987654321098765432109876543210
16622                                                                      xxx11110xx100001x00000xxxxxxxxxx
16623                                                                      fcvtnu.  */
16624                                                                   return 769;
16625                                                                 }
16626                                                               else
16627                                                                 {
16628                                                                   /* 33222222222211111111110000000000
16629                                                                      10987654321098765432109876543210
16630                                                                      xxx11110xx110001x00000xxxxxxxxxx
16631                                                                      fcvtmu.  */
16632                                                                   return 789;
16633                                                                 }
16634                                                             }
16635                                                           else
16636                                                             {
16637                                                               if (((word >> 20) & 0x1) == 0)
16638                                                                 {
16639                                                                   /* 33222222222211111111110000000000
16640                                                                      10987654321098765432109876543210
16641                                                                      xxx11110xx101001x00000xxxxxxxxxx
16642                                                                      fcvtpu.  */
16643                                                                   return 785;
16644                                                                 }
16645                                                               else
16646                                                                 {
16647                                                                   /* 33222222222211111111110000000000
16648                                                                      10987654321098765432109876543210
16649                                                                      xxx11110xx111001x00000xxxxxxxxxx
16650                                                                      fcvtzu.  */
16651                                                                   return 793;
16652                                                                 }
16653                                                             }
16654                                                         }
16655                                                       else
16656                                                         {
16657                                                           /* 33222222222211111111110000000000
16658                                                              10987654321098765432109876543210
16659                                                              xxx11110xx1xx101x00000xxxxxxxxxx
16660                                                              fcvtau.  */
16661                                                           return 777;
16662                                                         }
16663                                                     }
16664                                                   else
16665                                                     {
16666                                                       if (((word >> 18) & 0x1) == 0)
16667                                                         {
16668                                                           /* 33222222222211111111110000000000
16669                                                              10987654321098765432109876543210
16670                                                              xxx11110xx1xx011x00000xxxxxxxxxx
16671                                                              ucvtf.  */
16672                                                           return 773;
16673                                                         }
16674                                                       else
16675                                                         {
16676                                                           if (((word >> 19) & 0x1) == 0)
16677                                                             {
16678                                                               /* 33222222222211111111110000000000
16679                                                                  10987654321098765432109876543210
16680                                                                  xxx11110xx1x0111x00000xxxxxxxxxx
16681                                                                  fmov.  */
16682                                                               return 781;
16683                                                             }
16684                                                           else
16685                                                             {
16686                                                               /* 33222222222211111111110000000000
16687                                                                  10987654321098765432109876543210
16688                                                                  xxx11110xx1x1111x00000xxxxxxxxxx
16689                                                                  fmov.  */
16690                                                               return 796;
16691                                                             }
16692                                                         }
16693                                                     }
16694                                                 }
16695                                             }
16696                                           else
16697                                             {
16698                                               if (((word >> 17) & 0x1) == 0)
16699                                                 {
16700                                                   if (((word >> 15) & 0x1) == 0)
16701                                                     {
16702                                                       if (((word >> 16) & 0x1) == 0)
16703                                                         {
16704                                                           if (((word >> 18) & 0x1) == 0)
16705                                                             {
16706                                                               if (((word >> 19) & 0x1) == 0)
16707                                                                 {
16708                                                                   /* 33222222222211111111110000000000
16709                                                                      10987654321098765432109876543210
16710                                                                      xxx11110xx1x0000010000xxxxxxxxxx
16711                                                                      fmov.  */
16712                                                                   return 816;
16713                                                                 }
16714                                                               else
16715                                                                 {
16716                                                                   /* 33222222222211111111110000000000
16717                                                                      10987654321098765432109876543210
16718                                                                      xxx11110xx1x1000010000xxxxxxxxxx
16719                                                                      frint32z.  */
16720                                                                   return 812;
16721                                                                 }
16722                                                             }
16723                                                           else
16724                                                             {
16725                                                               /* 33222222222211111111110000000000
16726                                                                  10987654321098765432109876543210
16727                                                                  xxx11110xx1xx100010000xxxxxxxxxx
16728                                                                  frintn.  */
16729                                                               return 825;
16730                                                             }
16731                                                         }
16732                                                       else
16733                                                         {
16734                                                           if (((word >> 18) & 0x1) == 0)
16735                                                             {
16736                                                               if (((word >> 19) & 0x1) == 0)
16737                                                                 {
16738                                                                   /* 33222222222211111111110000000000
16739                                                                      10987654321098765432109876543210
16740                                                                      xxx11110xx1x0001010000xxxxxxxxxx
16741                                                                      fneg.  */
16742                                                                   return 820;
16743                                                                 }
16744                                                               else
16745                                                                 {
16746                                                                   /* 33222222222211111111110000000000
16747                                                                      10987654321098765432109876543210
16748                                                                      xxx11110xx1x1001010000xxxxxxxxxx
16749                                                                      frint64z.  */
16750                                                                   return 814;
16751                                                                 }
16752                                                             }
16753                                                           else
16754                                                             {
16755                                                               /* 33222222222211111111110000000000
16756                                                                  10987654321098765432109876543210
16757                                                                  xxx11110xx1xx101010000xxxxxxxxxx
16758                                                                  frintm.  */
16759                                                               return 829;
16760                                                             }
16761                                                         }
16762                                                     }
16763                                                   else
16764                                                     {
16765                                                       if (((word >> 16) & 0x1) == 0)
16766                                                         {
16767                                                           if (((word >> 18) & 0x1) == 0)
16768                                                             {
16769                                                               if (((word >> 19) & 0x1) == 0)
16770                                                                 {
16771                                                                   /* 33222222222211111111110000000000
16772                                                                      10987654321098765432109876543210
16773                                                                      xxx11110xx1x0000110000xxxxxxxxxx
16774                                                                      fabs.  */
16775                                                                   return 818;
16776                                                                 }
16777                                                               else
16778                                                                 {
16779                                                                   /* 33222222222211111111110000000000
16780                                                                      10987654321098765432109876543210
16781                                                                      xxx11110xx1x1000110000xxxxxxxxxx
16782                                                                      frint32x.  */
16783                                                                   return 813;
16784                                                                 }
16785                                                             }
16786                                                           else
16787                                                             {
16788                                                               /* 33222222222211111111110000000000
16789                                                                  10987654321098765432109876543210
16790                                                                  xxx11110xx1xx100110000xxxxxxxxxx
16791                                                                  frintp.  */
16792                                                               return 827;
16793                                                             }
16794                                                         }
16795                                                       else
16796                                                         {
16797                                                           if (((word >> 18) & 0x1) == 0)
16798                                                             {
16799                                                               if (((word >> 19) & 0x1) == 0)
16800                                                                 {
16801                                                                   /* 33222222222211111111110000000000
16802                                                                      10987654321098765432109876543210
16803                                                                      xxx11110xx1x0001110000xxxxxxxxxx
16804                                                                      fsqrt.  */
16805                                                                   return 822;
16806                                                                 }
16807                                                               else
16808                                                                 {
16809                                                                   /* 33222222222211111111110000000000
16810                                                                      10987654321098765432109876543210
16811                                                                      xxx11110xx1x1001110000xxxxxxxxxx
16812                                                                      frint64x.  */
16813                                                                   return 815;
16814                                                                 }
16815                                                             }
16816                                                           else
16817                                                             {
16818                                                               /* 33222222222211111111110000000000
16819                                                                  10987654321098765432109876543210
16820                                                                  xxx11110xx1xx101110000xxxxxxxxxx
16821                                                                  frintz.  */
16822                                                               return 831;
16823                                                             }
16824                                                         }
16825                                                     }
16826                                                 }
16827                                               else
16828                                                 {
16829                                                   if (((word >> 18) & 0x1) == 0)
16830                                                     {
16831                                                       /* 33222222222211111111110000000000
16832                                                          10987654321098765432109876543210
16833                                                          xxx11110xx1xx01xx10000xxxxxxxxxx
16834                                                          fcvt.  */
16835                                                       return 824;
16836                                                     }
16837                                                   else
16838                                                     {
16839                                                       if (((word >> 15) & 0x1) == 0)
16840                                                         {
16841                                                           if (((word >> 16) & 0x1) == 0)
16842                                                             {
16843                                                               /* 33222222222211111111110000000000
16844                                                                  10987654321098765432109876543210
16845                                                                  xxx11110xx1xx110010000xxxxxxxxxx
16846                                                                  frinta.  */
16847                                                               return 833;
16848                                                             }
16849                                                           else
16850                                                             {
16851                                                               /* 33222222222211111111110000000000
16852                                                                  10987654321098765432109876543210
16853                                                                  xxx11110xx1xx111010000xxxxxxxxxx
16854                                                                  frintx.  */
16855                                                               return 835;
16856                                                             }
16857                                                         }
16858                                                       else
16859                                                         {
16860                                                           /* 33222222222211111111110000000000
16861                                                              10987654321098765432109876543210
16862                                                              xxx11110xx1xx11x110000xxxxxxxxxx
16863                                                              frinti.  */
16864                                                           return 837;
16865                                                         }
16866                                                     }
16867                                                 }
16868                                             }
16869                                         }
16870                                       else
16871                                         {
16872                                           if (((word >> 3) & 0x1) == 0)
16873                                             {
16874                                               if (((word >> 4) & 0x1) == 0)
16875                                                 {
16876                                                   /* 33222222222211111111110000000000
16877                                                      10987654321098765432109876543210
16878                                                      xxx11110xx1xxxxxxx1000xxxxx00xxx
16879                                                      fcmp.  */
16880                                                   return 802;
16881                                                 }
16882                                               else
16883                                                 {
16884                                                   /* 33222222222211111111110000000000
16885                                                      10987654321098765432109876543210
16886                                                      xxx11110xx1xxxxxxx1000xxxxx10xxx
16887                                                      fcmpe.  */
16888                                                   return 804;
16889                                                 }
16890                                             }
16891                                           else
16892                                             {
16893                                               if (((word >> 4) & 0x1) == 0)
16894                                                 {
16895                                                   /* 33222222222211111111110000000000
16896                                                      10987654321098765432109876543210
16897                                                      xxx11110xx1xxxxxxx1000xxxxx01xxx
16898                                                      fcmp.  */
16899                                                   return 806;
16900                                                 }
16901                                               else
16902                                                 {
16903                                                   /* 33222222222211111111110000000000
16904                                                      10987654321098765432109876543210
16905                                                      xxx11110xx1xxxxxxx1000xxxxx11xxx
16906                                                      fcmpe.  */
16907                                                   return 808;
16908                                                 }
16909                                             }
16910                                         }
16911                                     }
16912                                   else
16913                                     {
16914                                       if (((word >> 30) & 0x1) == 0)
16915                                         {
16916                                           /* 33222222222211111111110000000000
16917                                              10987654321098765432109876543210
16918                                              x0x11110xx1xxxxxxxx100xxxxxxxxxx
16919                                              fmov.  */
16920                                           return 865;
16921                                         }
16922                                       else
16923                                         {
16924                                           if (((word >> 13) & 0x1) == 0)
16925                                             {
16926                                               if (((word >> 14) & 0x1) == 0)
16927                                                 {
16928                                                   /* 33222222222211111111110000000000
16929                                                      10987654321098765432109876543210
16930                                                      x1x11110xx1xxxxxx00100xxxxxxxxxx
16931                                                      sqdmlal.  */
16932                                                   return 422;
16933                                                 }
16934                                               else
16935                                                 {
16936                                                   /* 33222222222211111111110000000000
16937                                                      10987654321098765432109876543210
16938                                                      x1x11110xx1xxxxxx10100xxxxxxxxxx
16939                                                      sqdmull.  */
16940                                                   return 424;
16941                                                 }
16942                                             }
16943                                           else
16944                                             {
16945                                               /* 33222222222211111111110000000000
16946                                                  10987654321098765432109876543210
16947                                                  x1x11110xx1xxxxxxx1100xxxxxxxxxx
16948                                                  sqdmlsl.  */
16949                                               return 423;
16950                                             }
16951                                         }
16952                                     }
16953                                 }
16954                               else
16955                                 {
16956                                   if (((word >> 12) & 0x1) == 0)
16957                                     {
16958                                       if (((word >> 13) & 0x1) == 0)
16959                                         {
16960                                           if (((word >> 14) & 0x1) == 0)
16961                                             {
16962                                               if (((word >> 15) & 0x1) == 0)
16963                                                 {
16964                                                   if (((word >> 30) & 0x1) == 0)
16965                                                     {
16966                                                       /* 33222222222211111111110000000000
16967                                                          10987654321098765432109876543210
16968                                                          x0x11110xx1xxxxx000010xxxxxxxxxx
16969                                                          fmul.  */
16970                                                       return 839;
16971                                                     }
16972                                                   else
16973                                                     {
16974                                                       /* 33222222222211111111110000000000
16975                                                          10987654321098765432109876543210
16976                                                          x1x11110xx1xxxxx000010xxxxxxxxxx
16977                                                          sha1h.  */
16978                                                       return 675;
16979                                                     }
16980                                                 }
16981                                               else
16982                                                 {
16983                                                   if (((word >> 29) & 0x1) == 0)
16984                                                     {
16985                                                       if (((word >> 30) & 0x1) == 0)
16986                                                         {
16987                                                           /* 33222222222211111111110000000000
16988                                                              10987654321098765432109876543210
16989                                                              x0011110xx1xxxxx100010xxxxxxxxxx
16990                                                              fnmul.  */
16991                                                           return 855;
16992                                                         }
16993                                                       else
16994                                                         {
16995                                                           /* 33222222222211111111110000000000
16996                                                              10987654321098765432109876543210
16997                                                              x1011110xx1xxxxx100010xxxxxxxxxx
16998                                                              cmgt.  */
16999                                                           return 482;
17000                                                         }
17001                                                     }
17002                                                   else
17003                                                     {
17004                                                       /* 33222222222211111111110000000000
17005                                                          10987654321098765432109876543210
17006                                                          xx111110xx1xxxxx100010xxxxxxxxxx
17007                                                          cmge.  */
17008                                                       return 511;
17009                                                     }
17010                                                 }
17011                                             }
17012                                           else
17013                                             {
17014                                               if (((word >> 15) & 0x1) == 0)
17015                                                 {
17016                                                   if (((word >> 29) & 0x1) == 0)
17017                                                     {
17018                                                       if (((word >> 30) & 0x1) == 0)
17019                                                         {
17020                                                           /* 33222222222211111111110000000000
17021                                                              10987654321098765432109876543210
17022                                                              x0011110xx1xxxxx010010xxxxxxxxxx
17023                                                              fmax.  */
17024                                                           return 847;
17025                                                         }
17026                                                       else
17027                                                         {
17028                                                           /* 33222222222211111111110000000000
17029                                                              10987654321098765432109876543210
17030                                                              x1011110xx1xxxxx010010xxxxxxxxxx
17031                                                              sqxtn.  */
17032                                                           return 486;
17033                                                         }
17034                                                     }
17035                                                   else
17036                                                     {
17037                                                       /* 33222222222211111111110000000000
17038                                                          10987654321098765432109876543210
17039                                                          xx111110xx1xxxxx010010xxxxxxxxxx
17040                                                          uqxtn.  */
17041                                                       return 515;
17042                                                     }
17043                                                 }
17044                                               else
17045                                                 {
17046                                                   if (((word >> 16) & 0x1) == 0)
17047                                                     {
17048                                                       if (((word >> 19) & 0x1) == 0)
17049                                                         {
17050                                                           if (((word >> 20) & 0x1) == 0)
17051                                                             {
17052                                                               if (((word >> 29) & 0x1) == 0)
17053                                                                 {
17054                                                                   /* 33222222222211111111110000000000
17055                                                                      10987654321098765432109876543210
17056                                                                      xx011110xx100xx0110010xxxxxxxxxx
17057                                                                      fcmgt.  */
17058                                                                   return 495;
17059                                                                 }
17060                                                               else
17061                                                                 {
17062                                                                   /* 33222222222211111111110000000000
17063                                                                      10987654321098765432109876543210
17064                                                                      xx111110xx100xx0110010xxxxxxxxxx
17065                                                                      fcmge.  */
17066                                                                   return 525;
17067                                                                 }
17068                                                             }
17069                                                           else
17070                                                             {
17071                                                               if (((word >> 23) & 0x1) == 0)
17072                                                                 {
17073                                                                   if (((word >> 29) & 0x1) == 0)
17074                                                                     {
17075                                                                       /* 33222222222211111111110000000000
17076                                                                          10987654321098765432109876543210
17077                                                                          xx0111100x110xx0110010xxxxxxxxxx
17078                                                                          fmaxnmp.  */
17079                                                                       return 539;
17080                                                                     }
17081                                                                   else
17082                                                                     {
17083                                                                       /* 33222222222211111111110000000000
17084                                                                          10987654321098765432109876543210
17085                                                                          xx1111100x110xx0110010xxxxxxxxxx
17086                                                                          fmaxnmp.  */
17087                                                                       return 538;
17088                                                                     }
17089                                                                 }
17090                                                               else
17091                                                                 {
17092                                                                   if (((word >> 29) & 0x1) == 0)
17093                                                                     {
17094                                                                       /* 33222222222211111111110000000000
17095                                                                          10987654321098765432109876543210
17096                                                                          xx0111101x110xx0110010xxxxxxxxxx
17097                                                                          fminnmp.  */
17098                                                                       return 545;
17099                                                                     }
17100                                                                   else
17101                                                                     {
17102                                                                       /* 33222222222211111111110000000000
17103                                                                          10987654321098765432109876543210
17104                                                                          xx1111101x110xx0110010xxxxxxxxxx
17105                                                                          fminnmp.  */
17106                                                                       return 544;
17107                                                                     }
17108                                                                 }
17109                                                             }
17110                                                         }
17111                                                       else
17112                                                         {
17113                                                           if (((word >> 29) & 0x1) == 0)
17114                                                             {
17115                                                               /* 33222222222211111111110000000000
17116                                                                  10987654321098765432109876543210
17117                                                                  xx011110xx1x1xx0110010xxxxxxxxxx
17118                                                                  fcmgt.  */
17119                                                               return 496;
17120                                                             }
17121                                                           else
17122                                                             {
17123                                                               /* 33222222222211111111110000000000
17124                                                                  10987654321098765432109876543210
17125                                                                  xx111110xx1x1xx0110010xxxxxxxxxx
17126                                                                  fcmge.  */
17127                                                               return 526;
17128                                                             }
17129                                                         }
17130                                                     }
17131                                                   else
17132                                                     {
17133                                                       if (((word >> 19) & 0x1) == 0)
17134                                                         {
17135                                                           if (((word >> 29) & 0x1) == 0)
17136                                                             {
17137                                                               /* 33222222222211111111110000000000
17138                                                                  10987654321098765432109876543210
17139                                                                  xx011110xx1x0xx1110010xxxxxxxxxx
17140                                                                  fcvtas.  */
17141                                                               return 491;
17142                                                             }
17143                                                           else
17144                                                             {
17145                                                               /* 33222222222211111111110000000000
17146                                                                  10987654321098765432109876543210
17147                                                                  xx111110xx1x0xx1110010xxxxxxxxxx
17148                                                                  fcvtau.  */
17149                                                               return 521;
17150                                                             }
17151                                                         }
17152                                                       else
17153                                                         {
17154                                                           if (((word >> 29) & 0x1) == 0)
17155                                                             {
17156                                                               /* 33222222222211111111110000000000
17157                                                                  10987654321098765432109876543210
17158                                                                  xx011110xx1x1xx1110010xxxxxxxxxx
17159                                                                  fcvtas.  */
17160                                                               return 492;
17161                                                             }
17162                                                           else
17163                                                             {
17164                                                               /* 33222222222211111111110000000000
17165                                                                  10987654321098765432109876543210
17166                                                                  xx111110xx1x1xx1110010xxxxxxxxxx
17167                                                                  fcvtau.  */
17168                                                               return 522;
17169                                                             }
17170                                                         }
17171                                                     }
17172                                                 }
17173                                             }
17174                                         }
17175                                       else
17176                                         {
17177                                           if (((word >> 14) & 0x1) == 0)
17178                                             {
17179                                               if (((word >> 15) & 0x1) == 0)
17180                                                 {
17181                                                   if (((word >> 29) & 0x1) == 0)
17182                                                     {
17183                                                       if (((word >> 30) & 0x1) == 0)
17184                                                         {
17185                                                           /* 33222222222211111111110000000000
17186                                                              10987654321098765432109876543210
17187                                                              x0011110xx1xxxxx001010xxxxxxxxxx
17188                                                              fadd.  */
17189                                                           return 843;
17190                                                         }
17191                                                       else
17192                                                         {
17193                                                           /* 33222222222211111111110000000000
17194                                                              10987654321098765432109876543210
17195                                                              x1011110xx1xxxxx001010xxxxxxxxxx
17196                                                              sha256su0.  */
17197                                                           return 677;
17198                                                         }
17199                                                     }
17200                                                   else
17201                                                     {
17202                                                       /* 33222222222211111111110000000000
17203                                                          10987654321098765432109876543210
17204                                                          xx111110xx1xxxxx001010xxxxxxxxxx
17205                                                          sqxtun.  */
17206                                                       return 514;
17207                                                     }
17208                                                 }
17209                                               else
17210                                                 {
17211                                                   if (((word >> 16) & 0x1) == 0)
17212                                                     {
17213                                                       /* 33222222222211111111110000000000
17214                                                          10987654321098765432109876543210
17215                                                          xxx11110xx1xxxx0101010xxxxxxxxxx
17216                                                          cmlt.  */
17217                                                       return 484;
17218                                                     }
17219                                                   else
17220                                                     {
17221                                                       if (((word >> 19) & 0x1) == 0)
17222                                                         {
17223                                                           if (((word >> 23) & 0x1) == 0)
17224                                                             {
17225                                                               if (((word >> 29) & 0x1) == 0)
17226                                                                 {
17227                                                                   /* 33222222222211111111110000000000
17228                                                                      10987654321098765432109876543210
17229                                                                      xx0111100x1x0xx1101010xxxxxxxxxx
17230                                                                      fcvtns.  */
17231                                                                   return 487;
17232                                                                 }
17233                                                               else
17234                                                                 {
17235                                                                   /* 33222222222211111111110000000000
17236                                                                      10987654321098765432109876543210
17237                                                                      xx1111100x1x0xx1101010xxxxxxxxxx
17238                                                                      fcvtnu.  */
17239                                                                   return 517;
17240                                                                 }
17241                                                             }
17242                                                           else
17243                                                             {
17244                                                               if (((word >> 29) & 0x1) == 0)
17245                                                                 {
17246                                                                   /* 33222222222211111111110000000000
17247                                                                      10987654321098765432109876543210
17248                                                                      xx0111101x1x0xx1101010xxxxxxxxxx
17249                                                                      fcvtps.  */
17250                                                                   return 501;
17251                                                                 }
17252                                                               else
17253                                                                 {
17254                                                                   /* 33222222222211111111110000000000
17255                                                                      10987654321098765432109876543210
17256                                                                      xx1111101x1x0xx1101010xxxxxxxxxx
17257                                                                      fcvtpu.  */
17258                                                                   return 529;
17259                                                                 }
17260                                                             }
17261                                                         }
17262                                                       else
17263                                                         {
17264                                                           if (((word >> 23) & 0x1) == 0)
17265                                                             {
17266                                                               if (((word >> 29) & 0x1) == 0)
17267                                                                 {
17268                                                                   /* 33222222222211111111110000000000
17269                                                                      10987654321098765432109876543210
17270                                                                      xx0111100x1x1xx1101010xxxxxxxxxx
17271                                                                      fcvtns.  */
17272                                                                   return 488;
17273                                                                 }
17274                                                               else
17275                                                                 {
17276                                                                   /* 33222222222211111111110000000000
17277                                                                      10987654321098765432109876543210
17278                                                                      xx1111100x1x1xx1101010xxxxxxxxxx
17279                                                                      fcvtnu.  */
17280                                                                   return 518;
17281                                                                 }
17282                                                             }
17283                                                           else
17284                                                             {
17285                                                               if (((word >> 29) & 0x1) == 0)
17286                                                                 {
17287                                                                   /* 33222222222211111111110000000000
17288                                                                      10987654321098765432109876543210
17289                                                                      xx0111101x1x1xx1101010xxxxxxxxxx
17290                                                                      fcvtps.  */
17291                                                                   return 502;
17292                                                                 }
17293                                                               else
17294                                                                 {
17295                                                                   /* 33222222222211111111110000000000
17296                                                                      10987654321098765432109876543210
17297                                                                      xx1111101x1x1xx1101010xxxxxxxxxx
17298                                                                      fcvtpu.  */
17299                                                                   return 530;
17300                                                                 }
17301                                                             }
17302                                                         }
17303                                                     }
17304                                                 }
17305                                             }
17306                                           else
17307                                             {
17308                                               if (((word >> 15) & 0x1) == 0)
17309                                                 {
17310                                                   if (((word >> 29) & 0x1) == 0)
17311                                                     {
17312                                                       /* 33222222222211111111110000000000
17313                                                          10987654321098765432109876543210
17314                                                          xx011110xx1xxxxx011010xxxxxxxxxx
17315                                                          fmaxnm.  */
17316                                                       return 851;
17317                                                     }
17318                                                   else
17319                                                     {
17320                                                       /* 33222222222211111111110000000000
17321                                                          10987654321098765432109876543210
17322                                                          xx111110xx1xxxxx011010xxxxxxxxxx
17323                                                          fcvtxn.  */
17324                                                       return 516;
17325                                                     }
17326                                                 }
17327                                               else
17328                                                 {
17329                                                   if (((word >> 19) & 0x1) == 0)
17330                                                     {
17331                                                       /* 33222222222211111111110000000000
17332                                                          10987654321098765432109876543210
17333                                                          xxx11110xx1x0xxx111010xxxxxxxxxx
17334                                                          fcmlt.  */
17335                                                       return 499;
17336                                                     }
17337                                                   else
17338                                                     {
17339                                                       /* 33222222222211111111110000000000
17340                                                          10987654321098765432109876543210
17341                                                          xxx11110xx1x1xxx111010xxxxxxxxxx
17342                                                          fcmlt.  */
17343                                                       return 500;
17344                                                     }
17345                                                 }
17346                                             }
17347                                         }
17348                                     }
17349                                   else
17350                                     {
17351                                       if (((word >> 13) & 0x1) == 0)
17352                                         {
17353                                           if (((word >> 14) & 0x1) == 0)
17354                                             {
17355                                               if (((word >> 15) & 0x1) == 0)
17356                                                 {
17357                                                   if (((word >> 30) & 0x1) == 0)
17358                                                     {
17359                                                       /* 33222222222211111111110000000000
17360                                                          10987654321098765432109876543210
17361                                                          x0x11110xx1xxxxx000110xxxxxxxxxx
17362                                                          fdiv.  */
17363                                                       return 841;
17364                                                     }
17365                                                   else
17366                                                     {
17367                                                       /* 33222222222211111111110000000000
17368                                                          10987654321098765432109876543210
17369                                                          x1x11110xx1xxxxx000110xxxxxxxxxx
17370                                                          sha1su1.  */
17371                                                       return 676;
17372                                                     }
17373                                                 }
17374                                               else
17375                                                 {
17376                                                   if (((word >> 29) & 0x1) == 0)
17377                                                     {
17378                                                       /* 33222222222211111111110000000000
17379                                                          10987654321098765432109876543210
17380                                                          xx011110xx1xxxxx100110xxxxxxxxxx
17381                                                          cmeq.  */
17382                                                       return 483;
17383                                                     }
17384                                                   else
17385                                                     {
17386                                                       /* 33222222222211111111110000000000
17387                                                          10987654321098765432109876543210
17388                                                          xx111110xx1xxxxx100110xxxxxxxxxx
17389                                                          cmle.  */
17390                                                       return 512;
17391                                                     }
17392                                                 }
17393                                             }
17394                                           else
17395                                             {
17396                                               if (((word >> 15) & 0x1) == 0)
17397                                                 {
17398                                                   /* 33222222222211111111110000000000
17399                                                      10987654321098765432109876543210
17400                                                      xxx11110xx1xxxxx010110xxxxxxxxxx
17401                                                      fmin.  */
17402                                                   return 849;
17403                                                 }
17404                                               else
17405                                                 {
17406                                                   if (((word >> 16) & 0x1) == 0)
17407                                                     {
17408                                                       if (((word >> 19) & 0x1) == 0)
17409                                                         {
17410                                                           if (((word >> 20) & 0x1) == 0)
17411                                                             {
17412                                                               if (((word >> 29) & 0x1) == 0)
17413                                                                 {
17414                                                                   /* 33222222222211111111110000000000
17415                                                                      10987654321098765432109876543210
17416                                                                      xx011110xx100xx0110110xxxxxxxxxx
17417                                                                      fcmeq.  */
17418                                                                   return 497;
17419                                                                 }
17420                                                               else
17421                                                                 {
17422                                                                   /* 33222222222211111111110000000000
17423                                                                      10987654321098765432109876543210
17424                                                                      xx111110xx100xx0110110xxxxxxxxxx
17425                                                                      fcmle.  */
17426                                                                   return 527;
17427                                                                 }
17428                                                             }
17429                                                           else
17430                                                             {
17431                                                               if (((word >> 29) & 0x1) == 0)
17432                                                                 {
17433                                                                   /* 33222222222211111111110000000000
17434                                                                      10987654321098765432109876543210
17435                                                                      xx011110xx110xx0110110xxxxxxxxxx
17436                                                                      faddp.  */
17437                                                                   return 541;
17438                                                                 }
17439                                                               else
17440                                                                 {
17441                                                                   /* 33222222222211111111110000000000
17442                                                                      10987654321098765432109876543210
17443                                                                      xx111110xx110xx0110110xxxxxxxxxx
17444                                                                      faddp.  */
17445                                                                   return 540;
17446                                                                 }
17447                                                             }
17448                                                         }
17449                                                       else
17450                                                         {
17451                                                           if (((word >> 29) & 0x1) == 0)
17452                                                             {
17453                                                               /* 33222222222211111111110000000000
17454                                                                  10987654321098765432109876543210
17455                                                                  xx011110xx1x1xx0110110xxxxxxxxxx
17456                                                                  fcmeq.  */
17457                                                               return 498;
17458                                                             }
17459                                                           else
17460                                                             {
17461                                                               /* 33222222222211111111110000000000
17462                                                                  10987654321098765432109876543210
17463                                                                  xx111110xx1x1xx0110110xxxxxxxxxx
17464                                                                  fcmle.  */
17465                                                               return 528;
17466                                                             }
17467                                                         }
17468                                                     }
17469                                                   else
17470                                                     {
17471                                                       if (((word >> 19) & 0x1) == 0)
17472                                                         {
17473                                                           if (((word >> 23) & 0x1) == 0)
17474                                                             {
17475                                                               if (((word >> 29) & 0x1) == 0)
17476                                                                 {
17477                                                                   /* 33222222222211111111110000000000
17478                                                                      10987654321098765432109876543210
17479                                                                      xx0111100x1x0xx1110110xxxxxxxxxx
17480                                                                      scvtf.  */
17481                                                                   return 493;
17482                                                                 }
17483                                                               else
17484                                                                 {
17485                                                                   /* 33222222222211111111110000000000
17486                                                                      10987654321098765432109876543210
17487                                                                      xx1111100x1x0xx1110110xxxxxxxxxx
17488                                                                      ucvtf.  */
17489                                                                   return 523;
17490                                                                 }
17491                                                             }
17492                                                           else
17493                                                             {
17494                                                               if (((word >> 29) & 0x1) == 0)
17495                                                                 {
17496                                                                   /* 33222222222211111111110000000000
17497                                                                      10987654321098765432109876543210
17498                                                                      xx0111101x1x0xx1110110xxxxxxxxxx
17499                                                                      frecpe.  */
17500                                                                   return 505;
17501                                                                 }
17502                                                               else
17503                                                                 {
17504                                                                   /* 33222222222211111111110000000000
17505                                                                      10987654321098765432109876543210
17506                                                                      xx1111101x1x0xx1110110xxxxxxxxxx
17507                                                                      frsqrte.  */
17508                                                                   return 533;
17509                                                                 }
17510                                                             }
17511                                                         }
17512                                                       else
17513                                                         {
17514                                                           if (((word >> 23) & 0x1) == 0)
17515                                                             {
17516                                                               if (((word >> 29) & 0x1) == 0)
17517                                                                 {
17518                                                                   /* 33222222222211111111110000000000
17519                                                                      10987654321098765432109876543210
17520                                                                      xx0111100x1x1xx1110110xxxxxxxxxx
17521                                                                      scvtf.  */
17522                                                                   return 494;
17523                                                                 }
17524                                                               else
17525                                                                 {
17526                                                                   /* 33222222222211111111110000000000
17527                                                                      10987654321098765432109876543210
17528                                                                      xx1111100x1x1xx1110110xxxxxxxxxx
17529                                                                      ucvtf.  */
17530                                                                   return 524;
17531                                                                 }
17532                                                             }
17533                                                           else
17534                                                             {
17535                                                               if (((word >> 29) & 0x1) == 0)
17536                                                                 {
17537                                                                   /* 33222222222211111111110000000000
17538                                                                      10987654321098765432109876543210
17539                                                                      xx0111101x1x1xx1110110xxxxxxxxxx
17540                                                                      frecpe.  */
17541                                                                   return 506;
17542                                                                 }
17543                                                               else
17544                                                                 {
17545                                                                   /* 33222222222211111111110000000000
17546                                                                      10987654321098765432109876543210
17547                                                                      xx1111101x1x1xx1110110xxxxxxxxxx
17548                                                                      frsqrte.  */
17549                                                                   return 534;
17550                                                                 }
17551                                                             }
17552                                                         }
17553                                                     }
17554                                                 }
17555                                             }
17556                                         }
17557                                       else
17558                                         {
17559                                           if (((word >> 14) & 0x1) == 0)
17560                                             {
17561                                               if (((word >> 15) & 0x1) == 0)
17562                                                 {
17563                                                   if (((word >> 29) & 0x1) == 0)
17564                                                     {
17565                                                       if (((word >> 30) & 0x1) == 0)
17566                                                         {
17567                                                           /* 33222222222211111111110000000000
17568                                                              10987654321098765432109876543210
17569                                                              x0011110xx1xxxxx001110xxxxxxxxxx
17570                                                              fsub.  */
17571                                                           return 845;
17572                                                         }
17573                                                       else
17574                                                         {
17575                                                           /* 33222222222211111111110000000000
17576                                                              10987654321098765432109876543210
17577                                                              x1011110xx1xxxxx001110xxxxxxxxxx
17578                                                              suqadd.  */
17579                                                           return 480;
17580                                                         }
17581                                                     }
17582                                                   else
17583                                                     {
17584                                                       /* 33222222222211111111110000000000
17585                                                          10987654321098765432109876543210
17586                                                          xx111110xx1xxxxx001110xxxxxxxxxx
17587                                                          usqadd.  */
17588                                                       return 509;
17589                                                     }
17590                                                 }
17591                                               else
17592                                                 {
17593                                                   if (((word >> 16) & 0x1) == 0)
17594                                                     {
17595                                                       if (((word >> 29) & 0x1) == 0)
17596                                                         {
17597                                                           /* 33222222222211111111110000000000
17598                                                              10987654321098765432109876543210
17599                                                              xx011110xx1xxxx0101110xxxxxxxxxx
17600                                                              abs.  */
17601                                                           return 485;
17602                                                         }
17603                                                       else
17604                                                         {
17605                                                           /* 33222222222211111111110000000000
17606                                                              10987654321098765432109876543210
17607                                                              xx111110xx1xxxx0101110xxxxxxxxxx
17608                                                              neg.  */
17609                                                           return 513;
17610                                                         }
17611                                                     }
17612                                                   else
17613                                                     {
17614                                                       if (((word >> 19) & 0x1) == 0)
17615                                                         {
17616                                                           if (((word >> 20) & 0x1) == 0)
17617                                                             {
17618                                                               if (((word >> 23) & 0x1) == 0)
17619                                                                 {
17620                                                                   if (((word >> 29) & 0x1) == 0)
17621                                                                     {
17622                                                                       /* 33222222222211111111110000000000
17623                                                                          10987654321098765432109876543210
17624                                                                          xx0111100x100xx1101110xxxxxxxxxx
17625                                                                          fcvtms.  */
17626                                                                       return 489;
17627                                                                     }
17628                                                                   else
17629                                                                     {
17630                                                                       /* 33222222222211111111110000000000
17631                                                                          10987654321098765432109876543210
17632                                                                          xx1111100x100xx1101110xxxxxxxxxx
17633                                                                          fcvtmu.  */
17634                                                                       return 519;
17635                                                                     }
17636                                                                 }
17637                                                               else
17638                                                                 {
17639                                                                   if (((word >> 29) & 0x1) == 0)
17640                                                                     {
17641                                                                       /* 33222222222211111111110000000000
17642                                                                          10987654321098765432109876543210
17643                                                                          xx0111101x100xx1101110xxxxxxxxxx
17644                                                                          fcvtzs.  */
17645                                                                       return 503;
17646                                                                     }
17647                                                                   else
17648                                                                     {
17649                                                                       /* 33222222222211111111110000000000
17650                                                                          10987654321098765432109876543210
17651                                                                          xx1111101x100xx1101110xxxxxxxxxx
17652                                                                          fcvtzu.  */
17653                                                                       return 531;
17654                                                                     }
17655                                                                 }
17656                                                             }
17657                                                           else
17658                                                             {
17659                                                               /* 33222222222211111111110000000000
17660                                                                  10987654321098765432109876543210
17661                                                                  xxx11110xx110xx1101110xxxxxxxxxx
17662                                                                  addp.  */
17663                                                               return 537;
17664                                                             }
17665                                                         }
17666                                                       else
17667                                                         {
17668                                                           if (((word >> 23) & 0x1) == 0)
17669                                                             {
17670                                                               if (((word >> 29) & 0x1) == 0)
17671                                                                 {
17672                                                                   /* 33222222222211111111110000000000
17673                                                                      10987654321098765432109876543210
17674                                                                      xx0111100x1x1xx1101110xxxxxxxxxx
17675                                                                      fcvtms.  */
17676                                                                   return 490;
17677                                                                 }
17678                                                               else
17679                                                                 {
17680                                                                   /* 33222222222211111111110000000000
17681                                                                      10987654321098765432109876543210
17682                                                                      xx1111100x1x1xx1101110xxxxxxxxxx
17683                                                                      fcvtmu.  */
17684                                                                   return 520;
17685                                                                 }
17686                                                             }
17687                                                           else
17688                                                             {
17689                                                               if (((word >> 29) & 0x1) == 0)
17690                                                                 {
17691                                                                   /* 33222222222211111111110000000000
17692                                                                      10987654321098765432109876543210
17693                                                                      xx0111101x1x1xx1101110xxxxxxxxxx
17694                                                                      fcvtzs.  */
17695                                                                   return 504;
17696                                                                 }
17697                                                               else
17698                                                                 {
17699                                                                   /* 33222222222211111111110000000000
17700                                                                      10987654321098765432109876543210
17701                                                                      xx1111101x1x1xx1101110xxxxxxxxxx
17702                                                                      fcvtzu.  */
17703                                                                   return 532;
17704                                                                 }
17705                                                             }
17706                                                         }
17707                                                     }
17708                                                 }
17709                                             }
17710                                           else
17711                                             {
17712                                               if (((word >> 15) & 0x1) == 0)
17713                                                 {
17714                                                   if (((word >> 29) & 0x1) == 0)
17715                                                     {
17716                                                       if (((word >> 30) & 0x1) == 0)
17717                                                         {
17718                                                           /* 33222222222211111111110000000000
17719                                                              10987654321098765432109876543210
17720                                                              x0011110xx1xxxxx011110xxxxxxxxxx
17721                                                              fminnm.  */
17722                                                           return 853;
17723                                                         }
17724                                                       else
17725                                                         {
17726                                                           /* 33222222222211111111110000000000
17727                                                              10987654321098765432109876543210
17728                                                              x1011110xx1xxxxx011110xxxxxxxxxx
17729                                                              sqabs.  */
17730                                                           return 481;
17731                                                         }
17732                                                     }
17733                                                   else
17734                                                     {
17735                                                       /* 33222222222211111111110000000000
17736                                                          10987654321098765432109876543210
17737                                                          xx111110xx1xxxxx011110xxxxxxxxxx
17738                                                          sqneg.  */
17739                                                       return 510;
17740                                                     }
17741                                                 }
17742                                               else
17743                                                 {
17744                                                   if (((word >> 16) & 0x1) == 0)
17745                                                     {
17746                                                       if (((word >> 23) & 0x1) == 0)
17747                                                         {
17748                                                           if (((word >> 29) & 0x1) == 0)
17749                                                             {
17750                                                               /* 33222222222211111111110000000000
17751                                                                  10987654321098765432109876543210
17752                                                                  xx0111100x1xxxx0111110xxxxxxxxxx
17753                                                                  fmaxp.  */
17754                                                               return 543;
17755                                                             }
17756                                                           else
17757                                                             {
17758                                                               /* 33222222222211111111110000000000
17759                                                                  10987654321098765432109876543210
17760                                                                  xx1111100x1xxxx0111110xxxxxxxxxx
17761                                                                  fmaxp.  */
17762                                                               return 542;
17763                                                             }
17764                                                         }
17765                                                       else
17766                                                         {
17767                                                           if (((word >> 29) & 0x1) == 0)
17768                                                             {
17769                                                               /* 33222222222211111111110000000000
17770                                                                  10987654321098765432109876543210
17771                                                                  xx0111101x1xxxx0111110xxxxxxxxxx
17772                                                                  fminp.  */
17773                                                               return 547;
17774                                                             }
17775                                                           else
17776                                                             {
17777                                                               /* 33222222222211111111110000000000
17778                                                                  10987654321098765432109876543210
17779                                                                  xx1111101x1xxxx0111110xxxxxxxxxx
17780                                                                  fminp.  */
17781                                                               return 546;
17782                                                             }
17783                                                         }
17784                                                     }
17785                                                   else
17786                                                     {
17787                                                       if (((word >> 19) & 0x1) == 0)
17788                                                         {
17789                                                           /* 33222222222211111111110000000000
17790                                                              10987654321098765432109876543210
17791                                                              xxx11110xx1x0xx1111110xxxxxxxxxx
17792                                                              frecpx.  */
17793                                                           return 507;
17794                                                         }
17795                                                       else
17796                                                         {
17797                                                           /* 33222222222211111111110000000000
17798                                                              10987654321098765432109876543210
17799                                                              xxx11110xx1x1xx1111110xxxxxxxxxx
17800                                                              frecpx.  */
17801                                                           return 508;
17802                                                         }
17803                                                     }
17804                                                 }
17805                                             }
17806                                         }
17807                                     }
17808                                 }
17809                             }
17810                           else
17811                             {
17812                               if (((word >> 11) & 0x1) == 0)
17813                                 {
17814                                   if (((word >> 29) & 0x1) == 0)
17815                                     {
17816                                       if (((word >> 30) & 0x1) == 0)
17817                                         {
17818                                           if (((word >> 4) & 0x1) == 0)
17819                                             {
17820                                               /* 33222222222211111111110000000000
17821                                                  10987654321098765432109876543210
17822                                                  x0011110xx1xxxxxxxxx01xxxxx0xxxx
17823                                                  fccmp.  */
17824                                               return 798;
17825                                             }
17826                                           else
17827                                             {
17828                                               /* 33222222222211111111110000000000
17829                                                  10987654321098765432109876543210
17830                                                  x0011110xx1xxxxxxxxx01xxxxx1xxxx
17831                                                  fccmpe.  */
17832                                               return 800;
17833                                             }
17834                                         }
17835                                       else
17836                                         {
17837                                           if (((word >> 12) & 0x1) == 0)
17838                                             {
17839                                               if (((word >> 13) & 0x1) == 0)
17840                                                 {
17841                                                   if (((word >> 14) & 0x1) == 0)
17842                                                     {
17843                                                       /* 33222222222211111111110000000000
17844                                                          10987654321098765432109876543210
17845                                                          x1011110xx1xxxxxx00001xxxxxxxxxx
17846                                                          add.  */
17847                                                       return 565;
17848                                                     }
17849                                                   else
17850                                                     {
17851                                                       /* 33222222222211111111110000000000
17852                                                          10987654321098765432109876543210
17853                                                          x1011110xx1xxxxxx10001xxxxxxxxxx
17854                                                          sshl.  */
17855                                                       return 563;
17856                                                     }
17857                                                 }
17858                                               else
17859                                                 {
17860                                                   /* 33222222222211111111110000000000
17861                                                      10987654321098765432109876543210
17862                                                      x1011110xx1xxxxxxx1001xxxxxxxxxx
17863                                                      fcmeq.  */
17864                                                   return 555;
17865                                                 }
17866                                             }
17867                                           else
17868                                             {
17869                                               if (((word >> 13) & 0x1) == 0)
17870                                                 {
17871                                                   /* 33222222222211111111110000000000
17872                                                      10987654321098765432109876543210
17873                                                      x1011110xx1xxxxxxx0101xxxxxxxxxx
17874                                                      srshl.  */
17875                                                   return 564;
17876                                                 }
17877                                               else
17878                                                 {
17879                                                   if (((word >> 15) & 0x1) == 0)
17880                                                     {
17881                                                       /* 33222222222211111111110000000000
17882                                                          10987654321098765432109876543210
17883                                                          x1011110xx1xxxxx0x1101xxxxxxxxxx
17884                                                          cmgt.  */
17885                                                       return 561;
17886                                                     }
17887                                                   else
17888                                                     {
17889                                                       /* 33222222222211111111110000000000
17890                                                          10987654321098765432109876543210
17891                                                          x1011110xx1xxxxx1x1101xxxxxxxxxx
17892                                                          sqdmulh.  */
17893                                                       return 552;
17894                                                     }
17895                                                 }
17896                                             }
17897                                         }
17898                                     }
17899                                   else
17900                                     {
17901                                       if (((word >> 12) & 0x1) == 0)
17902                                         {
17903                                           if (((word >> 13) & 0x1) == 0)
17904                                             {
17905                                               if (((word >> 14) & 0x1) == 0)
17906                                                 {
17907                                                   /* 33222222222211111111110000000000
17908                                                      10987654321098765432109876543210
17909                                                      xx111110xx1xxxxxx00001xxxxxxxxxx
17910                                                      sub.  */
17911                                                   return 586;
17912                                                 }
17913                                               else
17914                                                 {
17915                                                   /* 33222222222211111111110000000000
17916                                                      10987654321098765432109876543210
17917                                                      xx111110xx1xxxxxx10001xxxxxxxxxx
17918                                                      ushl.  */
17919                                                   return 584;
17920                                                 }
17921                                             }
17922                                           else
17923                                             {
17924                                               if (((word >> 23) & 0x1) == 0)
17925                                                 {
17926                                                   /* 33222222222211111111110000000000
17927                                                      10987654321098765432109876543210
17928                                                      xx1111100x1xxxxxxx1001xxxxxxxxxx
17929                                                      fcmge.  */
17930                                                   return 572;
17931                                                 }
17932                                               else
17933                                                 {
17934                                                   /* 33222222222211111111110000000000
17935                                                      10987654321098765432109876543210
17936                                                      xx1111101x1xxxxxxx1001xxxxxxxxxx
17937                                                      fcmgt.  */
17938                                                   return 578;
17939                                                 }
17940                                             }
17941                                         }
17942                                       else
17943                                         {
17944                                           if (((word >> 13) & 0x1) == 0)
17945                                             {
17946                                               if (((word >> 15) & 0x1) == 0)
17947                                                 {
17948                                                   /* 33222222222211111111110000000000
17949                                                      10987654321098765432109876543210
17950                                                      xx111110xx1xxxxx0x0101xxxxxxxxxx
17951                                                      urshl.  */
17952                                                   return 585;
17953                                                 }
17954                                               else
17955                                                 {
17956                                                   /* 33222222222211111111110000000000
17957                                                      10987654321098765432109876543210
17958                                                      xx111110xx1xxxxx1x0101xxxxxxxxxx
17959                                                      fabd.  */
17960                                                   return 576;
17961                                                 }
17962                                             }
17963                                           else
17964                                             {
17965                                               if (((word >> 15) & 0x1) == 0)
17966                                                 {
17967                                                   /* 33222222222211111111110000000000
17968                                                      10987654321098765432109876543210
17969                                                      xx111110xx1xxxxx0x1101xxxxxxxxxx
17970                                                      cmhi.  */
17971                                                   return 582;
17972                                                 }
17973                                               else
17974                                                 {
17975                                                   /* 33222222222211111111110000000000
17976                                                      10987654321098765432109876543210
17977                                                      xx111110xx1xxxxx1x1101xxxxxxxxxx
17978                                                      sqrdmulh.  */
17979                                                   return 571;
17980                                                 }
17981                                             }
17982                                         }
17983                                     }
17984                                 }
17985                               else
17986                                 {
17987                                   if (((word >> 29) & 0x1) == 0)
17988                                     {
17989                                       if (((word >> 30) & 0x1) == 0)
17990                                         {
17991                                           /* 33222222222211111111110000000000
17992                                              10987654321098765432109876543210
17993                                              x0011110xx1xxxxxxxxx11xxxxxxxxxx
17994                                              fcsel.  */
17995                                           return 867;
17996                                         }
17997                                       else
17998                                         {
17999                                           if (((word >> 12) & 0x1) == 0)
18000                                             {
18001                                               if (((word >> 13) & 0x1) == 0)
18002                                                 {
18003                                                   if (((word >> 14) & 0x1) == 0)
18004                                                     {
18005                                                       if (((word >> 15) & 0x1) == 0)
18006                                                         {
18007                                                           /* 33222222222211111111110000000000
18008                                                              10987654321098765432109876543210
18009                                                              x1011110xx1xxxxx000011xxxxxxxxxx
18010                                                              sqadd.  */
18011                                                           return 548;
18012                                                         }
18013                                                       else
18014                                                         {
18015                                                           /* 33222222222211111111110000000000
18016                                                              10987654321098765432109876543210
18017                                                              x1011110xx1xxxxx100011xxxxxxxxxx
18018                                                              cmtst.  */
18019                                                           return 566;
18020                                                         }
18021                                                     }
18022                                                   else
18023                                                     {
18024                                                       /* 33222222222211111111110000000000
18025                                                          10987654321098765432109876543210
18026                                                          x1011110xx1xxxxxx10011xxxxxxxxxx
18027                                                          sqshl.  */
18028                                                       return 550;
18029                                                     }
18030                                                 }
18031                                               else
18032                                                 {
18033                                                   /* 33222222222211111111110000000000
18034                                                      10987654321098765432109876543210
18035                                                      x1011110xx1xxxxxxx1011xxxxxxxxxx
18036                                                      sqsub.  */
18037                                                   return 549;
18038                                                 }
18039                                             }
18040                                           else
18041                                             {
18042                                               if (((word >> 13) & 0x1) == 0)
18043                                                 {
18044                                                   if (((word >> 15) & 0x1) == 0)
18045                                                     {
18046                                                       /* 33222222222211111111110000000000
18047                                                          10987654321098765432109876543210
18048                                                          x1011110xx1xxxxx0x0111xxxxxxxxxx
18049                                                          sqrshl.  */
18050                                                       return 551;
18051                                                     }
18052                                                   else
18053                                                     {
18054                                                       /* 33222222222211111111110000000000
18055                                                          10987654321098765432109876543210
18056                                                          x1011110xx1xxxxx1x0111xxxxxxxxxx
18057                                                          fmulx.  */
18058                                                       return 553;
18059                                                     }
18060                                                 }
18061                                               else
18062                                                 {
18063                                                   if (((word >> 14) & 0x1) == 0)
18064                                                     {
18065                                                       /* 33222222222211111111110000000000
18066                                                          10987654321098765432109876543210
18067                                                          x1011110xx1xxxxxx01111xxxxxxxxxx
18068                                                          cmge.  */
18069                                                       return 562;
18070                                                     }
18071                                                   else
18072                                                     {
18073                                                       if (((word >> 23) & 0x1) == 0)
18074                                                         {
18075                                                           /* 33222222222211111111110000000000
18076                                                              10987654321098765432109876543210
18077                                                              x10111100x1xxxxxx11111xxxxxxxxxx
18078                                                              frecps.  */
18079                                                           return 557;
18080                                                         }
18081                                                       else
18082                                                         {
18083                                                           /* 33222222222211111111110000000000
18084                                                              10987654321098765432109876543210
18085                                                              x10111101x1xxxxxx11111xxxxxxxxxx
18086                                                              frsqrts.  */
18087                                                           return 559;
18088                                                         }
18089                                                     }
18090                                                 }
18091                                             }
18092                                         }
18093                                     }
18094                                   else
18095                                     {
18096                                       if (((word >> 12) & 0x1) == 0)
18097                                         {
18098                                           if (((word >> 13) & 0x1) == 0)
18099                                             {
18100                                               if (((word >> 14) & 0x1) == 0)
18101                                                 {
18102                                                   if (((word >> 15) & 0x1) == 0)
18103                                                     {
18104                                                       /* 33222222222211111111110000000000
18105                                                          10987654321098765432109876543210
18106                                                          xx111110xx1xxxxx000011xxxxxxxxxx
18107                                                          uqadd.  */
18108                                                       return 567;
18109                                                     }
18110                                                   else
18111                                                     {
18112                                                       /* 33222222222211111111110000000000
18113                                                          10987654321098765432109876543210
18114                                                          xx111110xx1xxxxx100011xxxxxxxxxx
18115                                                          cmeq.  */
18116                                                       return 587;
18117                                                     }
18118                                                 }
18119                                               else
18120                                                 {
18121                                                   /* 33222222222211111111110000000000
18122                                                      10987654321098765432109876543210
18123                                                      xx111110xx1xxxxxx10011xxxxxxxxxx
18124                                                      uqshl.  */
18125                                                   return 569;
18126                                                 }
18127                                             }
18128                                           else
18129                                             {
18130                                               if (((word >> 14) & 0x1) == 0)
18131                                                 {
18132                                                   /* 33222222222211111111110000000000
18133                                                      10987654321098765432109876543210
18134                                                      xx111110xx1xxxxxx01011xxxxxxxxxx
18135                                                      uqsub.  */
18136                                                   return 568;
18137                                                 }
18138                                               else
18139                                                 {
18140                                                   if (((word >> 23) & 0x1) == 0)
18141                                                     {
18142                                                       /* 33222222222211111111110000000000
18143                                                          10987654321098765432109876543210
18144                                                          xx1111100x1xxxxxx11011xxxxxxxxxx
18145                                                          facge.  */
18146                                                       return 574;
18147                                                     }
18148                                                   else
18149                                                     {
18150                                                       /* 33222222222211111111110000000000
18151                                                          10987654321098765432109876543210
18152                                                          xx1111101x1xxxxxx11011xxxxxxxxxx
18153                                                          facgt.  */
18154                                                       return 580;
18155                                                     }
18156                                                 }
18157                                             }
18158                                         }
18159                                       else
18160                                         {
18161                                           if (((word >> 13) & 0x1) == 0)
18162                                             {
18163                                               /* 33222222222211111111110000000000
18164                                                  10987654321098765432109876543210
18165                                                  xx111110xx1xxxxxxx0111xxxxxxxxxx
18166                                                  uqrshl.  */
18167                                               return 570;
18168                                             }
18169                                           else
18170                                             {
18171                                               /* 33222222222211111111110000000000
18172                                                  10987654321098765432109876543210
18173                                                  xx111110xx1xxxxxxx1111xxxxxxxxxx
18174                                                  cmhs.  */
18175                                               return 583;
18176                                             }
18177                                         }
18178                                     }
18179                                 }
18180                             }
18181                         }
18182                     }
18183                 }
18184               else
18185                 {
18186                   if (((word >> 15) & 0x1) == 0)
18187                     {
18188                       if (((word >> 28) & 0x1) == 0)
18189                         {
18190                           if (((word >> 10) & 0x1) == 0)
18191                             {
18192                               if (((word >> 12) & 0x1) == 0)
18193                                 {
18194                                   if (((word >> 13) & 0x1) == 0)
18195                                     {
18196                                       if (((word >> 14) & 0x1) == 0)
18197                                         {
18198                                           if (((word >> 29) & 0x1) == 0)
18199                                             {
18200                                               if (((word >> 30) & 0x1) == 0)
18201                                                 {
18202                                                   /* 33222222222211111111110000000000
18203                                                      10987654321098765432109876543210
18204                                                      x0001111xxxxxxxx0000x0xxxxxxxxxx
18205                                                      fmlal.  */
18206                                                   return 2069;
18207                                                 }
18208                                               else
18209                                                 {
18210                                                   /* 33222222222211111111110000000000
18211                                                      10987654321098765432109876543210
18212                                                      x1001111xxxxxxxx0000x0xxxxxxxxxx
18213                                                      fmlal.  */
18214                                                   return 2073;
18215                                                 }
18216                                             }
18217                                           else
18218                                             {
18219                                               /* 33222222222211111111110000000000
18220                                                  10987654321098765432109876543210
18221                                                  xx101111xxxxxxxx0000x0xxxxxxxxxx
18222                                                  mla.  */
18223                                               return 119;
18224                                             }
18225                                         }
18226                                       else
18227                                         {
18228                                           if (((word >> 29) & 0x1) == 0)
18229                                             {
18230                                               if (((word >> 30) & 0x1) == 0)
18231                                                 {
18232                                                   /* 33222222222211111111110000000000
18233                                                      10987654321098765432109876543210
18234                                                      x0001111xxxxxxxx0100x0xxxxxxxxxx
18235                                                      fmlsl.  */
18236                                                   return 2070;
18237                                                 }
18238                                               else
18239                                                 {
18240                                                   /* 33222222222211111111110000000000
18241                                                      10987654321098765432109876543210
18242                                                      x1001111xxxxxxxx0100x0xxxxxxxxxx
18243                                                      fmlsl.  */
18244                                                   return 2074;
18245                                                 }
18246                                             }
18247                                           else
18248                                             {
18249                                               /* 33222222222211111111110000000000
18250                                                  10987654321098765432109876543210
18251                                                  xx101111xxxxxxxx0100x0xxxxxxxxxx
18252                                                  mls.  */
18253                                               return 122;
18254                                             }
18255                                         }
18256                                     }
18257                                   else
18258                                     {
18259                                       if (((word >> 14) & 0x1) == 0)
18260                                         {
18261                                           if (((word >> 29) & 0x1) == 0)
18262                                             {
18263                                               if (((word >> 30) & 0x1) == 0)
18264                                                 {
18265                                                   /* 33222222222211111111110000000000
18266                                                      10987654321098765432109876543210
18267                                                      x0001111xxxxxxxx0010x0xxxxxxxxxx
18268                                                      smlal.  */
18269                                                   return 98;
18270                                                 }
18271                                               else
18272                                                 {
18273                                                   /* 33222222222211111111110000000000
18274                                                      10987654321098765432109876543210
18275                                                      x1001111xxxxxxxx0010x0xxxxxxxxxx
18276                                                      smlal2.  */
18277                                                   return 99;
18278                                                 }
18279                                             }
18280                                           else
18281                                             {
18282                                               if (((word >> 30) & 0x1) == 0)
18283                                                 {
18284                                                   /* 33222222222211111111110000000000
18285                                                      10987654321098765432109876543210
18286                                                      x0101111xxxxxxxx0010x0xxxxxxxxxx
18287                                                      umlal.  */
18288                                                   return 120;
18289                                                 }
18290                                               else
18291                                                 {
18292                                                   /* 33222222222211111111110000000000
18293                                                      10987654321098765432109876543210
18294                                                      x1101111xxxxxxxx0010x0xxxxxxxxxx
18295                                                      umlal2.  */
18296                                                   return 121;
18297                                                 }
18298                                             }
18299                                         }
18300                                       else
18301                                         {
18302                                           if (((word >> 29) & 0x1) == 0)
18303                                             {
18304                                               if (((word >> 30) & 0x1) == 0)
18305                                                 {
18306                                                   /* 33222222222211111111110000000000
18307                                                      10987654321098765432109876543210
18308                                                      x0001111xxxxxxxx0110x0xxxxxxxxxx
18309                                                      smlsl.  */
18310                                                   return 102;
18311                                                 }
18312                                               else
18313                                                 {
18314                                                   /* 33222222222211111111110000000000
18315                                                      10987654321098765432109876543210
18316                                                      x1001111xxxxxxxx0110x0xxxxxxxxxx
18317                                                      smlsl2.  */
18318                                                   return 103;
18319                                                 }
18320                                             }
18321                                           else
18322                                             {
18323                                               if (((word >> 30) & 0x1) == 0)
18324                                                 {
18325                                                   /* 33222222222211111111110000000000
18326                                                      10987654321098765432109876543210
18327                                                      x0101111xxxxxxxx0110x0xxxxxxxxxx
18328                                                      umlsl.  */
18329                                                   return 123;
18330                                                 }
18331                                               else
18332                                                 {
18333                                                   /* 33222222222211111111110000000000
18334                                                      10987654321098765432109876543210
18335                                                      x1101111xxxxxxxx0110x0xxxxxxxxxx
18336                                                      umlsl2.  */
18337                                                   return 124;
18338                                                 }
18339                                             }
18340                                         }
18341                                     }
18342                                 }
18343                               else
18344                                 {
18345                                   if (((word >> 29) & 0x1) == 0)
18346                                     {
18347                                       if (((word >> 13) & 0x1) == 0)
18348                                         {
18349                                           if (((word >> 14) & 0x1) == 0)
18350                                             {
18351                                               if (((word >> 23) & 0x1) == 0)
18352                                                 {
18353                                                   /* 33222222222211111111110000000000
18354                                                      10987654321098765432109876543210
18355                                                      xx0011110xxxxxxx0001x0xxxxxxxxxx
18356                                                      fmla.  */
18357                                                   return 114;
18358                                                 }
18359                                               else
18360                                                 {
18361                                                   /* 33222222222211111111110000000000
18362                                                      10987654321098765432109876543210
18363                                                      xx0011111xxxxxxx0001x0xxxxxxxxxx
18364                                                      fmla.  */
18365                                                   return 113;
18366                                                 }
18367                                             }
18368                                           else
18369                                             {
18370                                               if (((word >> 23) & 0x1) == 0)
18371                                                 {
18372                                                   /* 33222222222211111111110000000000
18373                                                      10987654321098765432109876543210
18374                                                      xx0011110xxxxxxx0101x0xxxxxxxxxx
18375                                                      fmls.  */
18376                                                   return 116;
18377                                                 }
18378                                               else
18379                                                 {
18380                                                   /* 33222222222211111111110000000000
18381                                                      10987654321098765432109876543210
18382                                                      xx0011111xxxxxxx0101x0xxxxxxxxxx
18383                                                      fmls.  */
18384                                                   return 115;
18385                                                 }
18386                                             }
18387                                         }
18388                                       else
18389                                         {
18390                                           if (((word >> 14) & 0x1) == 0)
18391                                             {
18392                                               if (((word >> 30) & 0x1) == 0)
18393                                                 {
18394                                                   /* 33222222222211111111110000000000
18395                                                      10987654321098765432109876543210
18396                                                      x0001111xxxxxxxx0011x0xxxxxxxxxx
18397                                                      sqdmlal.  */
18398                                                   return 100;
18399                                                 }
18400                                               else
18401                                                 {
18402                                                   /* 33222222222211111111110000000000
18403                                                      10987654321098765432109876543210
18404                                                      x1001111xxxxxxxx0011x0xxxxxxxxxx
18405                                                      sqdmlal2.  */
18406                                                   return 101;
18407                                                 }
18408                                             }
18409                                           else
18410                                             {
18411                                               if (((word >> 30) & 0x1) == 0)
18412                                                 {
18413                                                   /* 33222222222211111111110000000000
18414                                                      10987654321098765432109876543210
18415                                                      x0001111xxxxxxxx0111x0xxxxxxxxxx
18416                                                      sqdmlsl.  */
18417                                                   return 104;
18418                                                 }
18419                                               else
18420                                                 {
18421                                                   /* 33222222222211111111110000000000
18422                                                      10987654321098765432109876543210
18423                                                      x1001111xxxxxxxx0111x0xxxxxxxxxx
18424                                                      sqdmlsl2.  */
18425                                                   return 105;
18426                                                 }
18427                                             }
18428                                         }
18429                                     }
18430                                   else
18431                                     {
18432                                       /* 33222222222211111111110000000000
18433                                          10987654321098765432109876543210
18434                                          xx101111xxxxxxxx0xx1x0xxxxxxxxxx
18435                                          fcmla.  */
18436                                       return 131;
18437                                     }
18438                                 }
18439                             }
18440                           else
18441                             {
18442                               if (((word >> 12) & 0x1) == 0)
18443                                 {
18444                                   if (((word >> 29) & 0x1) == 0)
18445                                     {
18446                                       /* 33222222222211111111110000000000
18447                                          10987654321098765432109876543210
18448                                          xx001111xxxxxxxx0xx0x1xxxxxxxxxx
18449                                          movi.  */
18450                                       return 133;
18451                                     }
18452                                   else
18453                                     {
18454                                       /* 33222222222211111111110000000000
18455                                          10987654321098765432109876543210
18456                                          xx101111xxxxxxxx0xx0x1xxxxxxxxxx
18457                                          mvni.  */
18458                                       return 141;
18459                                     }
18460                                 }
18461                               else
18462                                 {
18463                                   if (((word >> 29) & 0x1) == 0)
18464                                     {
18465                                       /* 33222222222211111111110000000000
18466                                          10987654321098765432109876543210
18467                                          xx001111xxxxxxxx0xx1x1xxxxxxxxxx
18468                                          orr.  */
18469                                       return 134;
18470                                     }
18471                                   else
18472                                     {
18473                                       /* 33222222222211111111110000000000
18474                                          10987654321098765432109876543210
18475                                          xx101111xxxxxxxx0xx1x1xxxxxxxxxx
18476                                          bic.  */
18477                                       return 142;
18478                                     }
18479                                 }
18480                             }
18481                         }
18482                       else
18483                         {
18484                           if (((word >> 29) & 0x1) == 0)
18485                             {
18486                               if (((word >> 30) & 0x1) == 0)
18487                                 {
18488                                   if (((word >> 21) & 0x1) == 0)
18489                                     {
18490                                       /* 33222222222211111111110000000000
18491                                          10987654321098765432109876543210
18492                                          x0011111xx0xxxxx0xxxxxxxxxxxxxxx
18493                                          fmadd.  */
18494                                       return 857;
18495                                     }
18496                                   else
18497                                     {
18498                                       /* 33222222222211111111110000000000
18499                                          10987654321098765432109876543210
18500                                          x0011111xx1xxxxx0xxxxxxxxxxxxxxx
18501                                          fnmadd.  */
18502                                       return 861;
18503                                     }
18504                                 }
18505                               else
18506                                 {
18507                                   if (((word >> 10) & 0x1) == 0)
18508                                     {
18509                                       if (((word >> 13) & 0x1) == 0)
18510                                         {
18511                                           if (((word >> 14) & 0x1) == 0)
18512                                             {
18513                                               if (((word >> 23) & 0x1) == 0)
18514                                                 {
18515                                                   /* 33222222222211111111110000000000
18516                                                      10987654321098765432109876543210
18517                                                      x10111110xxxxxxx000xx0xxxxxxxxxx
18518                                                      fmla.  */
18519                                                   return 431;
18520                                                 }
18521                                               else
18522                                                 {
18523                                                   /* 33222222222211111111110000000000
18524                                                      10987654321098765432109876543210
18525                                                      x10111111xxxxxxx000xx0xxxxxxxxxx
18526                                                      fmla.  */
18527                                                   return 430;
18528                                                 }
18529                                             }
18530                                           else
18531                                             {
18532                                               if (((word >> 23) & 0x1) == 0)
18533                                                 {
18534                                                   /* 33222222222211111111110000000000
18535                                                      10987654321098765432109876543210
18536                                                      x10111110xxxxxxx010xx0xxxxxxxxxx
18537                                                      fmls.  */
18538                                                   return 433;
18539                                                 }
18540                                               else
18541                                                 {
18542                                                   /* 33222222222211111111110000000000
18543                                                      10987654321098765432109876543210
18544                                                      x10111111xxxxxxx010xx0xxxxxxxxxx
18545                                                      fmls.  */
18546                                                   return 432;
18547                                                 }
18548                                             }
18549                                         }
18550                                       else
18551                                         {
18552                                           if (((word >> 14) & 0x1) == 0)
18553                                             {
18554                                               /* 33222222222211111111110000000000
18555                                                  10987654321098765432109876543210
18556                                                  x1011111xxxxxxxx001xx0xxxxxxxxxx
18557                                                  sqdmlal.  */
18558                                               return 425;
18559                                             }
18560                                           else
18561                                             {
18562                                               /* 33222222222211111111110000000000
18563                                                  10987654321098765432109876543210
18564                                                  x1011111xxxxxxxx011xx0xxxxxxxxxx
18565                                                  sqdmlsl.  */
18566                                               return 426;
18567                                             }
18568                                         }
18569                                     }
18570                                   else
18571                                     {
18572                                       if (((word >> 12) & 0x1) == 0)
18573                                         {
18574                                           if (((word >> 13) & 0x1) == 0)
18575                                             {
18576                                               /* 33222222222211111111110000000000
18577                                                  10987654321098765432109876543210
18578                                                  x1011111xxxxxxxx0x00x1xxxxxxxxxx
18579                                                  sshr.  */
18580                                               return 590;
18581                                             }
18582                                           else
18583                                             {
18584                                               /* 33222222222211111111110000000000
18585                                                  10987654321098765432109876543210
18586                                                  x1011111xxxxxxxx0x10x1xxxxxxxxxx
18587                                                  srshr.  */
18588                                               return 592;
18589                                             }
18590                                         }
18591                                       else
18592                                         {
18593                                           if (((word >> 13) & 0x1) == 0)
18594                                             {
18595                                               if (((word >> 14) & 0x1) == 0)
18596                                                 {
18597                                                   /* 33222222222211111111110000000000
18598                                                      10987654321098765432109876543210
18599                                                      x1011111xxxxxxxx0001x1xxxxxxxxxx
18600                                                      ssra.  */
18601                                                   return 591;
18602                                                 }
18603                                               else
18604                                                 {
18605                                                   /* 33222222222211111111110000000000
18606                                                      10987654321098765432109876543210
18607                                                      x1011111xxxxxxxx0101x1xxxxxxxxxx
18608                                                      shl.  */
18609                                                   return 594;
18610                                                 }
18611                                             }
18612                                           else
18613                                             {
18614                                               if (((word >> 14) & 0x1) == 0)
18615                                                 {
18616                                                   /* 33222222222211111111110000000000
18617                                                      10987654321098765432109876543210
18618                                                      x1011111xxxxxxxx0011x1xxxxxxxxxx
18619                                                      srsra.  */
18620                                                   return 593;
18621                                                 }
18622                                               else
18623                                                 {
18624                                                   /* 33222222222211111111110000000000
18625                                                      10987654321098765432109876543210
18626                                                      x1011111xxxxxxxx0111x1xxxxxxxxxx
18627                                                      sqshl.  */
18628                                                   return 595;
18629                                                 }
18630                                             }
18631                                         }
18632                                     }
18633                                 }
18634                             }
18635                           else
18636                             {
18637                               if (((word >> 12) & 0x1) == 0)
18638                                 {
18639                                   if (((word >> 13) & 0x1) == 0)
18640                                     {
18641                                       if (((word >> 14) & 0x1) == 0)
18642                                         {
18643                                           /* 33222222222211111111110000000000
18644                                              10987654321098765432109876543210
18645                                              xx111111xxxxxxxx0000xxxxxxxxxxxx
18646                                              ushr.  */
18647                                           return 602;
18648                                         }
18649                                       else
18650                                         {
18651                                           /* 33222222222211111111110000000000
18652                                              10987654321098765432109876543210
18653                                              xx111111xxxxxxxx0100xxxxxxxxxxxx
18654                                              sri.  */
18655                                           return 606;
18656                                         }
18657                                     }
18658                                   else
18659                                     {
18660                                       if (((word >> 14) & 0x1) == 0)
18661                                         {
18662                                           /* 33222222222211111111110000000000
18663                                              10987654321098765432109876543210
18664                                              xx111111xxxxxxxx0010xxxxxxxxxxxx
18665                                              urshr.  */
18666                                           return 604;
18667                                         }
18668                                       else
18669                                         {
18670                                           /* 33222222222211111111110000000000
18671                                              10987654321098765432109876543210
18672                                              xx111111xxxxxxxx0110xxxxxxxxxxxx
18673                                              sqshlu.  */
18674                                           return 608;
18675                                         }
18676                                     }
18677                                 }
18678                               else
18679                                 {
18680                                   if (((word >> 13) & 0x1) == 0)
18681                                     {
18682                                       if (((word >> 14) & 0x1) == 0)
18683                                         {
18684                                           /* 33222222222211111111110000000000
18685                                              10987654321098765432109876543210
18686                                              xx111111xxxxxxxx0001xxxxxxxxxxxx
18687                                              usra.  */
18688                                           return 603;
18689                                         }
18690                                       else
18691                                         {
18692                                           /* 33222222222211111111110000000000
18693                                              10987654321098765432109876543210
18694                                              xx111111xxxxxxxx0101xxxxxxxxxxxx
18695                                              sli.  */
18696                                           return 607;
18697                                         }
18698                                     }
18699                                   else
18700                                     {
18701                                       if (((word >> 14) & 0x1) == 0)
18702                                         {
18703                                           /* 33222222222211111111110000000000
18704                                              10987654321098765432109876543210
18705                                              xx111111xxxxxxxx0011xxxxxxxxxxxx
18706                                              ursra.  */
18707                                           return 605;
18708                                         }
18709                                       else
18710                                         {
18711                                           /* 33222222222211111111110000000000
18712                                              10987654321098765432109876543210
18713                                              xx111111xxxxxxxx0111xxxxxxxxxxxx
18714                                              uqshl.  */
18715                                           return 609;
18716                                         }
18717                                     }
18718                                 }
18719                             }
18720                         }
18721                     }
18722                   else
18723                     {
18724                       if (((word >> 28) & 0x1) == 0)
18725                         {
18726                           if (((word >> 10) & 0x1) == 0)
18727                             {
18728                               if (((word >> 12) & 0x1) == 0)
18729                                 {
18730                                   if (((word >> 13) & 0x1) == 0)
18731                                     {
18732                                       if (((word >> 14) & 0x1) == 0)
18733                                         {
18734                                           if (((word >> 29) & 0x1) == 0)
18735                                             {
18736                                               /* 33222222222211111111110000000000
18737                                                  10987654321098765432109876543210
18738                                                  xx001111xxxxxxxx1000x0xxxxxxxxxx
18739                                                  mul.  */
18740                                               return 106;
18741                                             }
18742                                           else
18743                                             {
18744                                               if (((word >> 30) & 0x1) == 0)
18745                                                 {
18746                                                   /* 33222222222211111111110000000000
18747                                                      10987654321098765432109876543210
18748                                                      x0101111xxxxxxxx1000x0xxxxxxxxxx
18749                                                      fmlal2.  */
18750                                                   return 2071;
18751                                                 }
18752                                               else
18753                                                 {
18754                                                   /* 33222222222211111111110000000000
18755                                                      10987654321098765432109876543210
18756                                                      x1101111xxxxxxxx1000x0xxxxxxxxxx
18757                                                      fmlal2.  */
18758                                                   return 2075;
18759                                                 }
18760                                             }
18761                                         }
18762                                       else
18763                                         {
18764                                           if (((word >> 29) & 0x1) == 0)
18765                                             {
18766                                               /* 33222222222211111111110000000000
18767                                                  10987654321098765432109876543210
18768                                                  xx001111xxxxxxxx1100x0xxxxxxxxxx
18769                                                  sqdmulh.  */
18770                                               return 111;
18771                                             }
18772                                           else
18773                                             {
18774                                               if (((word >> 30) & 0x1) == 0)
18775                                                 {
18776                                                   /* 33222222222211111111110000000000
18777                                                      10987654321098765432109876543210
18778                                                      x0101111xxxxxxxx1100x0xxxxxxxxxx
18779                                                      fmlsl2.  */
18780                                                   return 2072;
18781                                                 }
18782                                               else
18783                                                 {
18784                                                   /* 33222222222211111111110000000000
18785                                                      10987654321098765432109876543210
18786                                                      x1101111xxxxxxxx1100x0xxxxxxxxxx
18787                                                      fmlsl2.  */
18788                                                   return 2076;
18789                                                 }
18790                                             }
18791                                         }
18792                                     }
18793                                   else
18794                                     {
18795                                       if (((word >> 14) & 0x1) == 0)
18796                                         {
18797                                           if (((word >> 29) & 0x1) == 0)
18798                                             {
18799                                               if (((word >> 30) & 0x1) == 0)
18800                                                 {
18801                                                   /* 33222222222211111111110000000000
18802                                                      10987654321098765432109876543210
18803                                                      x0001111xxxxxxxx1010x0xxxxxxxxxx
18804                                                      smull.  */
18805                                                   return 107;
18806                                                 }
18807                                               else
18808                                                 {
18809                                                   /* 33222222222211111111110000000000
18810                                                      10987654321098765432109876543210
18811                                                      x1001111xxxxxxxx1010x0xxxxxxxxxx
18812                                                      smull2.  */
18813                                                   return 108;
18814                                                 }
18815                                             }
18816                                           else
18817                                             {
18818                                               if (((word >> 30) & 0x1) == 0)
18819                                                 {
18820                                                   /* 33222222222211111111110000000000
18821                                                      10987654321098765432109876543210
18822                                                      x0101111xxxxxxxx1010x0xxxxxxxxxx
18823                                                      umull.  */
18824                                                   return 125;
18825                                                 }
18826                                               else
18827                                                 {
18828                                                   /* 33222222222211111111110000000000
18829                                                      10987654321098765432109876543210
18830                                                      x1101111xxxxxxxx1010x0xxxxxxxxxx
18831                                                      umull2.  */
18832                                                   return 126;
18833                                                 }
18834                                             }
18835                                         }
18836                                       else
18837                                         {
18838                                           if (((word >> 29) & 0x1) == 0)
18839                                             {
18840                                               /* 33222222222211111111110000000000
18841                                                  10987654321098765432109876543210
18842                                                  xx001111xxxxxxxx1110x0xxxxxxxxxx
18843                                                  sdot.  */
18844                                               return 2043;
18845                                             }
18846                                           else
18847                                             {
18848                                               /* 33222222222211111111110000000000
18849                                                  10987654321098765432109876543210
18850                                                  xx101111xxxxxxxx1110x0xxxxxxxxxx
18851                                                  udot.  */
18852                                               return 2042;
18853                                             }
18854                                         }
18855                                     }
18856                                 }
18857                               else
18858                                 {
18859                                   if (((word >> 13) & 0x1) == 0)
18860                                     {
18861                                       if (((word >> 14) & 0x1) == 0)
18862                                         {
18863                                           if (((word >> 23) & 0x1) == 0)
18864                                             {
18865                                               if (((word >> 29) & 0x1) == 0)
18866                                                 {
18867                                                   /* 33222222222211111111110000000000
18868                                                      10987654321098765432109876543210
18869                                                      xx0011110xxxxxxx1001x0xxxxxxxxxx
18870                                                      fmul.  */
18871                                                   return 118;
18872                                                 }
18873                                               else
18874                                                 {
18875                                                   /* 33222222222211111111110000000000
18876                                                      10987654321098765432109876543210
18877                                                      xx1011110xxxxxxx1001x0xxxxxxxxxx
18878                                                      fmulx.  */
18879                                                   return 128;
18880                                                 }
18881                                             }
18882                                           else
18883                                             {
18884                                               if (((word >> 29) & 0x1) == 0)
18885                                                 {
18886                                                   /* 33222222222211111111110000000000
18887                                                      10987654321098765432109876543210
18888                                                      xx0011111xxxxxxx1001x0xxxxxxxxxx
18889                                                      fmul.  */
18890                                                   return 117;
18891                                                 }
18892                                               else
18893                                                 {
18894                                                   /* 33222222222211111111110000000000
18895                                                      10987654321098765432109876543210
18896                                                      xx1011111xxxxxxx1001x0xxxxxxxxxx
18897                                                      fmulx.  */
18898                                                   return 127;
18899                                                 }
18900                                             }
18901                                         }
18902                                       else
18903                                         {
18904                                           if (((word >> 29) & 0x1) == 0)
18905                                             {
18906                                               /* 33222222222211111111110000000000
18907                                                  10987654321098765432109876543210
18908                                                  xx001111xxxxxxxx1101x0xxxxxxxxxx
18909                                                  sqrdmulh.  */
18910                                               return 112;
18911                                             }
18912                                           else
18913                                             {
18914                                               /* 33222222222211111111110000000000
18915                                                  10987654321098765432109876543210
18916                                                  xx101111xxxxxxxx1101x0xxxxxxxxxx
18917                                                  sqrdmlah.  */
18918                                               return 129;
18919                                             }
18920                                         }
18921                                     }
18922                                   else
18923                                     {
18924                                       if (((word >> 14) & 0x1) == 0)
18925                                         {
18926                                           if (((word >> 30) & 0x1) == 0)
18927                                             {
18928                                               /* 33222222222211111111110000000000
18929                                                  10987654321098765432109876543210
18930                                                  x0x01111xxxxxxxx1011x0xxxxxxxxxx
18931                                                  sqdmull.  */
18932                                               return 109;
18933                                             }
18934                                           else
18935                                             {
18936                                               /* 33222222222211111111110000000000
18937                                                  10987654321098765432109876543210
18938                                                  x1x01111xxxxxxxx1011x0xxxxxxxxxx
18939                                                  sqdmull2.  */
18940                                               return 110;
18941                                             }
18942                                         }
18943                                       else
18944                                         {
18945                                           /* 33222222222211111111110000000000
18946                                              10987654321098765432109876543210
18947                                              xxx01111xxxxxxxx1111x0xxxxxxxxxx
18948                                              sqrdmlsh.  */
18949                                           return 130;
18950                                         }
18951                                     }
18952                                 }
18953                             }
18954                           else
18955                             {
18956                               if (((word >> 11) & 0x1) == 0)
18957                                 {
18958                                   if (((word >> 14) & 0x1) == 0)
18959                                     {
18960                                       if (((word >> 12) & 0x1) == 0)
18961                                         {
18962                                           if (((word >> 29) & 0x1) == 0)
18963                                             {
18964                                               /* 33222222222211111111110000000000
18965                                                  10987654321098765432109876543210
18966                                                  xx001111xxxxxxxx10x001xxxxxxxxxx
18967                                                  movi.  */
18968                                               return 135;
18969                                             }
18970                                           else
18971                                             {
18972                                               /* 33222222222211111111110000000000
18973                                                  10987654321098765432109876543210
18974                                                  xx101111xxxxxxxx10x001xxxxxxxxxx
18975                                                  mvni.  */
18976                                               return 143;
18977                                             }
18978                                         }
18979                                       else
18980                                         {
18981                                           if (((word >> 29) & 0x1) == 0)
18982                                             {
18983                                               /* 33222222222211111111110000000000
18984                                                  10987654321098765432109876543210
18985                                                  xx001111xxxxxxxx10x101xxxxxxxxxx
18986                                                  orr.  */
18987                                               return 136;
18988                                             }
18989                                           else
18990                                             {
18991                                               /* 33222222222211111111110000000000
18992                                                  10987654321098765432109876543210
18993                                                  xx101111xxxxxxxx10x101xxxxxxxxxx
18994                                                  bic.  */
18995                                               return 144;
18996                                             }
18997                                         }
18998                                     }
18999                                   else
19000                                     {
19001                                       if (((word >> 13) & 0x1) == 0)
19002                                         {
19003                                           if (((word >> 29) & 0x1) == 0)
19004                                             {
19005                                               /* 33222222222211111111110000000000
19006                                                  10987654321098765432109876543210
19007                                                  xx001111xxxxxxxx110x01xxxxxxxxxx
19008                                                  movi.  */
19009                                               return 137;
19010                                             }
19011                                           else
19012                                             {
19013                                               /* 33222222222211111111110000000000
19014                                                  10987654321098765432109876543210
19015                                                  xx101111xxxxxxxx110x01xxxxxxxxxx
19016                                                  mvni.  */
19017                                               return 145;
19018                                             }
19019                                         }
19020                                       else
19021                                         {
19022                                           if (((word >> 12) & 0x1) == 0)
19023                                             {
19024                                               if (((word >> 29) & 0x1) == 0)
19025                                                 {
19026                                                   /* 33222222222211111111110000000000
19027                                                      10987654321098765432109876543210
19028                                                      xx001111xxxxxxxx111001xxxxxxxxxx
19029                                                      movi.  */
19030                                                   return 138;
19031                                                 }
19032                                               else
19033                                                 {
19034                                                   /* 33222222222211111111110000000000
19035                                                      10987654321098765432109876543210
19036                                                      xx101111xxxxxxxx111001xxxxxxxxxx
19037                                                      movi.  */
19038                                                   return 146;
19039                                                 }
19040                                             }
19041                                           else
19042                                             {
19043                                               if (((word >> 29) & 0x1) == 0)
19044                                                 {
19045                                                   /* 33222222222211111111110000000000
19046                                                      10987654321098765432109876543210
19047                                                      xx001111xxxxxxxx111101xxxxxxxxxx
19048                                                      fmov.  */
19049                                                   return 139;
19050                                                 }
19051                                               else
19052                                                 {
19053                                                   /* 33222222222211111111110000000000
19054                                                      10987654321098765432109876543210
19055                                                      xx101111xxxxxxxx111101xxxxxxxxxx
19056                                                      fmov.  */
19057                                                   return 148;
19058                                                 }
19059                                             }
19060                                         }
19061                                     }
19062                                 }
19063                               else
19064                                 {
19065                                   if (((word >> 12) & 0x1) == 0)
19066                                     {
19067                                       if (((word >> 29) & 0x1) == 0)
19068                                         {
19069                                           if (((word >> 30) & 0x1) == 0)
19070                                             {
19071                                               /* 33222222222211111111110000000000
19072                                                  10987654321098765432109876543210
19073                                                  x0001111xxxxxxxx1xx011xxxxxxxxxx
19074                                                  rshrn.  */
19075                                               return 382;
19076                                             }
19077                                           else
19078                                             {
19079                                               /* 33222222222211111111110000000000
19080                                                  10987654321098765432109876543210
19081                                                  x1001111xxxxxxxx1xx011xxxxxxxxxx
19082                                                  rshrn2.  */
19083                                               return 383;
19084                                             }
19085                                         }
19086                                       else
19087                                         {
19088                                           if (((word >> 30) & 0x1) == 0)
19089                                             {
19090                                               /* 33222222222211111111110000000000
19091                                                  10987654321098765432109876543210
19092                                                  x0101111xxxxxxxx1xx011xxxxxxxxxx
19093                                                  sqrshrun.  */
19094                                               return 406;
19095                                             }
19096                                           else
19097                                             {
19098                                               /* 33222222222211111111110000000000
19099                                                  10987654321098765432109876543210
19100                                                  x1101111xxxxxxxx1xx011xxxxxxxxxx
19101                                                  sqrshrun2.  */
19102                                               return 407;
19103                                             }
19104                                         }
19105                                     }
19106                                   else
19107                                     {
19108                                       if (((word >> 13) & 0x1) == 0)
19109                                         {
19110                                           if (((word >> 29) & 0x1) == 0)
19111                                             {
19112                                               if (((word >> 30) & 0x1) == 0)
19113                                                 {
19114                                                   /* 33222222222211111111110000000000
19115                                                      10987654321098765432109876543210
19116                                                      x0001111xxxxxxxx1x0111xxxxxxxxxx
19117                                                      sqrshrn.  */
19118                                                   return 386;
19119                                                 }
19120                                               else
19121                                                 {
19122                                                   /* 33222222222211111111110000000000
19123                                                      10987654321098765432109876543210
19124                                                      x1001111xxxxxxxx1x0111xxxxxxxxxx
19125                                                      sqrshrn2.  */
19126                                                   return 387;
19127                                                 }
19128                                             }
19129                                           else
19130                                             {
19131                                               if (((word >> 30) & 0x1) == 0)
19132                                                 {
19133                                                   /* 33222222222211111111110000000000
19134                                                      10987654321098765432109876543210
19135                                                      x0101111xxxxxxxx1x0111xxxxxxxxxx
19136                                                      uqrshrn.  */
19137                                                   return 410;
19138                                                 }
19139                                               else
19140                                                 {
19141                                                   /* 33222222222211111111110000000000
19142                                                      10987654321098765432109876543210
19143                                                      x1101111xxxxxxxx1x0111xxxxxxxxxx
19144                                                      uqrshrn2.  */
19145                                                   return 411;
19146                                                 }
19147                                             }
19148                                         }
19149                                       else
19150                                         {
19151                                           if (((word >> 29) & 0x1) == 0)
19152                                             {
19153                                               /* 33222222222211111111110000000000
19154                                                  10987654321098765432109876543210
19155                                                  xx001111xxxxxxxx1x1111xxxxxxxxxx
19156                                                  fmov.  */
19157                                               return 140;
19158                                             }
19159                                           else
19160                                             {
19161                                               /* 33222222222211111111110000000000
19162                                                  10987654321098765432109876543210
19163                                                  xx101111xxxxxxxx1x1111xxxxxxxxxx
19164                                                  fcvtzu.  */
19165                                               return 418;
19166                                             }
19167                                         }
19168                                     }
19169                                 }
19170                             }
19171                         }
19172                       else
19173                         {
19174                           if (((word >> 29) & 0x1) == 0)
19175                             {
19176                               if (((word >> 30) & 0x1) == 0)
19177                                 {
19178                                   if (((word >> 21) & 0x1) == 0)
19179                                     {
19180                                       /* 33222222222211111111110000000000
19181                                          10987654321098765432109876543210
19182                                          x0011111xx0xxxxx1xxxxxxxxxxxxxxx
19183                                          fmsub.  */
19184                                       return 859;
19185                                     }
19186                                   else
19187                                     {
19188                                       /* 33222222222211111111110000000000
19189                                          10987654321098765432109876543210
19190                                          x0011111xx1xxxxx1xxxxxxxxxxxxxxx
19191                                          fnmsub.  */
19192                                       return 863;
19193                                     }
19194                                 }
19195                               else
19196                                 {
19197                                   if (((word >> 10) & 0x1) == 0)
19198                                     {
19199                                       if (((word >> 12) & 0x1) == 0)
19200                                         {
19201                                           /* 33222222222211111111110000000000
19202                                              10987654321098765432109876543210
19203                                              x1011111xxxxxxxx1xx0x0xxxxxxxxxx
19204                                              sqdmulh.  */
19205                                           return 428;
19206                                         }
19207                                       else
19208                                         {
19209                                           if (((word >> 13) & 0x1) == 0)
19210                                             {
19211                                               if (((word >> 14) & 0x1) == 0)
19212                                                 {
19213                                                   if (((word >> 23) & 0x1) == 0)
19214                                                     {
19215                                                       /* 33222222222211111111110000000000
19216                                                          10987654321098765432109876543210
19217                                                          x10111110xxxxxxx1001x0xxxxxxxxxx
19218                                                          fmul.  */
19219                                                       return 435;
19220                                                     }
19221                                                   else
19222                                                     {
19223                                                       /* 33222222222211111111110000000000
19224                                                          10987654321098765432109876543210
19225                                                          x10111111xxxxxxx1001x0xxxxxxxxxx
19226                                                          fmul.  */
19227                                                       return 434;
19228                                                     }
19229                                                 }
19230                                               else
19231                                                 {
19232                                                   /* 33222222222211111111110000000000
19233                                                      10987654321098765432109876543210
19234                                                      x1011111xxxxxxxx1101x0xxxxxxxxxx
19235                                                      sqrdmulh.  */
19236                                                   return 429;
19237                                                 }
19238                                             }
19239                                           else
19240                                             {
19241                                               /* 33222222222211111111110000000000
19242                                                  10987654321098765432109876543210
19243                                                  x1011111xxxxxxxx1x11x0xxxxxxxxxx
19244                                                  sqdmull.  */
19245                                               return 427;
19246                                             }
19247                                         }
19248                                     }
19249                                   else
19250                                     {
19251                                       if (((word >> 11) & 0x1) == 0)
19252                                         {
19253                                           if (((word >> 12) & 0x1) == 0)
19254                                             {
19255                                               /* 33222222222211111111110000000000
19256                                                  10987654321098765432109876543210
19257                                                  x1011111xxxxxxxx1xx001xxxxxxxxxx
19258                                                  scvtf.  */
19259                                               return 598;
19260                                             }
19261                                           else
19262                                             {
19263                                               /* 33222222222211111111110000000000
19264                                                  10987654321098765432109876543210
19265                                                  x1011111xxxxxxxx1xx101xxxxxxxxxx
19266                                                  sqshrn.  */
19267                                               return 596;
19268                                             }
19269                                         }
19270                                       else
19271                                         {
19272                                           if (((word >> 13) & 0x1) == 0)
19273                                             {
19274                                               /* 33222222222211111111110000000000
19275                                                  10987654321098765432109876543210
19276                                                  x1011111xxxxxxxx1x0x11xxxxxxxxxx
19277                                                  sqrshrn.  */
19278                                               return 597;
19279                                             }
19280                                           else
19281                                             {
19282                                               /* 33222222222211111111110000000000
19283                                                  10987654321098765432109876543210
19284                                                  x1011111xxxxxxxx1x1x11xxxxxxxxxx
19285                                                  fcvtzs.  */
19286                                               return 600;
19287                                             }
19288                                         }
19289                                     }
19290                                 }
19291                             }
19292                           else
19293                             {
19294                               if (((word >> 10) & 0x1) == 0)
19295                                 {
19296                                   if (((word >> 13) & 0x1) == 0)
19297                                     {
19298                                       if (((word >> 14) & 0x1) == 0)
19299                                         {
19300                                           if (((word >> 23) & 0x1) == 0)
19301                                             {
19302                                               /* 33222222222211111111110000000000
19303                                                  10987654321098765432109876543210
19304                                                  xx1111110xxxxxxx100xx0xxxxxxxxxx
19305                                                  fmulx.  */
19306                                               return 437;
19307                                             }
19308                                           else
19309                                             {
19310                                               /* 33222222222211111111110000000000
19311                                                  10987654321098765432109876543210
19312                                                  xx1111111xxxxxxx100xx0xxxxxxxxxx
19313                                                  fmulx.  */
19314                                               return 436;
19315                                             }
19316                                         }
19317                                       else
19318                                         {
19319                                           /* 33222222222211111111110000000000
19320                                              10987654321098765432109876543210
19321                                              xx111111xxxxxxxx110xx0xxxxxxxxxx
19322                                              sqrdmlah.  */
19323                                           return 438;
19324                                         }
19325                                     }
19326                                   else
19327                                     {
19328                                       /* 33222222222211111111110000000000
19329                                          10987654321098765432109876543210
19330                                          xx111111xxxxxxxx1x1xx0xxxxxxxxxx
19331                                          sqrdmlsh.  */
19332                                       return 439;
19333                                     }
19334                                 }
19335                               else
19336                                 {
19337                                   if (((word >> 11) & 0x1) == 0)
19338                                     {
19339                                       if (((word >> 12) & 0x1) == 0)
19340                                         {
19341                                           if (((word >> 13) & 0x1) == 0)
19342                                             {
19343                                               /* 33222222222211111111110000000000
19344                                                  10987654321098765432109876543210
19345                                                  xx111111xxxxxxxx1x0001xxxxxxxxxx
19346                                                  sqshrun.  */
19347                                               return 610;
19348                                             }
19349                                           else
19350                                             {
19351                                               /* 33222222222211111111110000000000
19352                                                  10987654321098765432109876543210
19353                                                  xx111111xxxxxxxx1x1001xxxxxxxxxx
19354                                                  ucvtf.  */
19355                                               return 614;
19356                                             }
19357                                         }
19358                                       else
19359                                         {
19360                                           /* 33222222222211111111110000000000
19361                                              10987654321098765432109876543210
19362                                              xx111111xxxxxxxx1xx101xxxxxxxxxx
19363                                              uqshrn.  */
19364                                           return 612;
19365                                         }
19366                                     }
19367                                   else
19368                                     {
19369                                       if (((word >> 12) & 0x1) == 0)
19370                                         {
19371                                           /* 33222222222211111111110000000000
19372                                              10987654321098765432109876543210
19373                                              xx111111xxxxxxxx1xx011xxxxxxxxxx
19374                                              sqrshrun.  */
19375                                           return 611;
19376                                         }
19377                                       else
19378                                         {
19379                                           if (((word >> 13) & 0x1) == 0)
19380                                             {
19381                                               /* 33222222222211111111110000000000
19382                                                  10987654321098765432109876543210
19383                                                  xx111111xxxxxxxx1x0111xxxxxxxxxx
19384                                                  uqrshrn.  */
19385                                               return 613;
19386                                             }
19387                                           else
19388                                             {
19389                                               /* 33222222222211111111110000000000
19390                                                  10987654321098765432109876543210
19391                                                  xx111111xxxxxxxx1x1111xxxxxxxxxx
19392                                                  fcvtzu.  */
19393                                               return 616;
19394                                             }
19395                                         }
19396                                     }
19397                                 }
19398                             }
19399                         }
19400                     }
19401                 }
19402             }
19403         }
19404     }
19405 }
19406
19407 /* Lookup opcode WORD in the opcode table.  N.B. all alias
19408    opcodes are ignored here.  */
19409
19410 const aarch64_opcode *
19411 aarch64_opcode_lookup (uint32_t word)
19412 {
19413   return aarch64_opcode_table + aarch64_opcode_lookup_1 (word);
19414 }
19415
19416 const aarch64_opcode *
19417 aarch64_find_next_opcode (const aarch64_opcode *opcode)
19418 {
19419   /* Use the index as the key to locate the next opcode.  */
19420   int key = opcode - aarch64_opcode_table;
19421   int value;
19422   switch (key)
19423     {
19424     case 12: value = 19; break; /* add --> addg.  */
19425     case 19: return NULL;               /* addg --> NULL.  */
19426     case 16: value = 20; break; /* sub --> subg.  */
19427     case 20: return NULL;               /* subg --> NULL.  */
19428     case 969: value = 973; break;       /* stnp --> stp.  */
19429     case 973: return NULL;              /* stp --> NULL.  */
19430     case 967: value = 968; break;       /* stllrb --> stllrh.  */
19431     case 968: return NULL;              /* stllrh --> NULL.  */
19432     case 970: value = 974; break;       /* ldnp --> ldp.  */
19433     case 974: return NULL;              /* ldp --> NULL.  */
19434     case 1619: value = 1620; break;     /* ldff1b --> ldff1b.  */
19435     case 1620: return NULL;             /* ldff1b --> NULL.  */
19436     case 1675: value = 1676; break;     /* ldff1sw --> ldff1sw.  */
19437     case 1676: return NULL;             /* ldff1sw --> NULL.  */
19438     case 1623: value = 1624; break;     /* ldff1b --> ldff1b.  */
19439     case 1624: return NULL;             /* ldff1b --> NULL.  */
19440     case 1642: value = 1643; break;     /* ldff1h --> ldff1h.  */
19441     case 1643: return NULL;             /* ldff1h --> NULL.  */
19442     case 1621: value = 1622; break;     /* ldff1b --> ldff1b.  */
19443     case 1622: return NULL;             /* ldff1b --> NULL.  */
19444     case 1640: value = 1641; break;     /* ldff1h --> ldff1h.  */
19445     case 1641: return NULL;             /* ldff1h --> NULL.  */
19446     case 1625: value = 1626; break;     /* ldff1b --> ldff1b.  */
19447     case 1626: return NULL;             /* ldff1b --> NULL.  */
19448     case 1644: value = 1645; break;     /* ldff1h --> ldff1h.  */
19449     case 1645: return NULL;             /* ldff1h --> NULL.  */
19450     case 1665: value = 1666; break;     /* ldff1sh --> ldff1sh.  */
19451     case 1666: return NULL;             /* ldff1sh --> NULL.  */
19452     case 1653: value = 1654; break;     /* ldff1sb --> ldff1sb.  */
19453     case 1654: return NULL;             /* ldff1sb --> NULL.  */
19454     case 1684: value = 1685; break;     /* ldff1w --> ldff1w.  */
19455     case 1685: return NULL;             /* ldff1w --> NULL.  */
19456     case 1657: value = 1658; break;     /* ldff1sb --> ldff1sb.  */
19457     case 1658: return NULL;             /* ldff1sb --> NULL.  */
19458     case 1667: value = 1668; break;     /* ldff1sh --> ldff1sh.  */
19459     case 1668: return NULL;             /* ldff1sh --> NULL.  */
19460     case 1655: value = 1656; break;     /* ldff1sb --> ldff1sb.  */
19461     case 1656: return NULL;             /* ldff1sb --> NULL.  */
19462     case 1686: value = 1687; break;     /* ldff1w --> ldff1w.  */
19463     case 1687: return NULL;             /* ldff1w --> NULL.  */
19464     case 1631: value = 1632; break;     /* ldff1d --> ldff1d.  */
19465     case 1632: return NULL;             /* ldff1d --> NULL.  */
19466     case 810: value = 811; break;       /* xaflag --> axflag.  */
19467     case 811: value = 1187; break;      /* axflag --> msr.  */
19468     case 1187: value = 1188; break;     /* msr --> hint.  */
19469     case 1188: value = 1204; break;     /* hint --> clrex.  */
19470     case 1204: value = 1205; break;     /* clrex --> dsb.  */
19471     case 1205: value = 1208; break;     /* dsb --> dmb.  */
19472     case 1208: value = 1209; break;     /* dmb --> isb.  */
19473     case 1209: value = 1210; break;     /* isb --> sb.  */
19474     case 1210: value = 1211; break;     /* sb --> sys.  */
19475     case 1211: value = 1219; break;     /* sys --> msr.  */
19476     case 1219: value = 2077; break;     /* msr --> cfinv.  */
19477     case 2077: return NULL;             /* cfinv --> NULL.  */
19478     case 1220: value = 1221; break;     /* sysl --> mrs.  */
19479     case 1221: return NULL;             /* mrs --> NULL.  */
19480     case 440: value = 441; break;       /* st4 --> st1.  */
19481     case 441: value = 442; break;       /* st1 --> st2.  */
19482     case 442: value = 443; break;       /* st2 --> st3.  */
19483     case 443: return NULL;              /* st3 --> NULL.  */
19484     case 448: value = 449; break;       /* st4 --> st1.  */
19485     case 449: value = 450; break;       /* st1 --> st2.  */
19486     case 450: value = 451; break;       /* st2 --> st3.  */
19487     case 451: return NULL;              /* st3 --> NULL.  */
19488     case 444: value = 445; break;       /* ld4 --> ld1.  */
19489     case 445: value = 446; break;       /* ld1 --> ld2.  */
19490     case 446: value = 447; break;       /* ld2 --> ld3.  */
19491     case 447: return NULL;              /* ld3 --> NULL.  */
19492     case 460: value = 462; break;       /* ld1 --> ld1r.  */
19493     case 462: return NULL;              /* ld1r --> NULL.  */
19494     case 464: value = 466; break;       /* ld2 --> ld2r.  */
19495     case 466: return NULL;              /* ld2r --> NULL.  */
19496     case 461: value = 463; break;       /* ld3 --> ld3r.  */
19497     case 463: return NULL;              /* ld3r --> NULL.  */
19498     case 465: value = 467; break;       /* ld4 --> ld4r.  */
19499     case 467: return NULL;              /* ld4r --> NULL.  */
19500     case 452: value = 453; break;       /* ld4 --> ld1.  */
19501     case 453: value = 454; break;       /* ld1 --> ld2.  */
19502     case 454: value = 455; break;       /* ld2 --> ld3.  */
19503     case 455: return NULL;              /* ld3 --> NULL.  */
19504     case 472: value = 474; break;       /* ld1 --> ld1r.  */
19505     case 474: return NULL;              /* ld1r --> NULL.  */
19506     case 473: value = 475; break;       /* ld3 --> ld3r.  */
19507     case 475: return NULL;              /* ld3r --> NULL.  */
19508     case 476: value = 478; break;       /* ld2 --> ld2r.  */
19509     case 478: return NULL;              /* ld2r --> NULL.  */
19510     case 477: value = 479; break;       /* ld4 --> ld4r.  */
19511     case 479: return NULL;              /* ld4r --> NULL.  */
19512     case 763: value = 764; break;       /* fcvtzs --> fcvtzs.  */
19513     case 764: return NULL;              /* fcvtzs --> NULL.  */
19514     case 759: value = 760; break;       /* scvtf --> scvtf.  */
19515     case 760: return NULL;              /* scvtf --> NULL.  */
19516     case 765: value = 766; break;       /* fcvtzu --> fcvtzu.  */
19517     case 766: return NULL;              /* fcvtzu --> NULL.  */
19518     case 761: value = 762; break;       /* ucvtf --> ucvtf.  */
19519     case 762: return NULL;              /* ucvtf --> NULL.  */
19520     case 767: value = 768; break;       /* fcvtns --> fcvtns.  */
19521     case 768: return NULL;              /* fcvtns --> NULL.  */
19522     case 787: value = 788; break;       /* fcvtms --> fcvtms.  */
19523     case 788: return NULL;              /* fcvtms --> NULL.  */
19524     case 783: value = 784; break;       /* fcvtps --> fcvtps.  */
19525     case 784: return NULL;              /* fcvtps --> NULL.  */
19526     case 791: value = 792; break;       /* fcvtzs --> fcvtzs.  */
19527     case 792: return NULL;              /* fcvtzs --> NULL.  */
19528     case 775: value = 776; break;       /* fcvtas --> fcvtas.  */
19529     case 776: return NULL;              /* fcvtas --> NULL.  */
19530     case 771: value = 772; break;       /* scvtf --> scvtf.  */
19531     case 772: return NULL;              /* scvtf --> NULL.  */
19532     case 779: value = 780; break;       /* fmov --> fmov.  */
19533     case 780: return NULL;              /* fmov --> NULL.  */
19534     case 769: value = 770; break;       /* fcvtnu --> fcvtnu.  */
19535     case 770: return NULL;              /* fcvtnu --> NULL.  */
19536     case 789: value = 790; break;       /* fcvtmu --> fcvtmu.  */
19537     case 790: return NULL;              /* fcvtmu --> NULL.  */
19538     case 785: value = 786; break;       /* fcvtpu --> fcvtpu.  */
19539     case 786: return NULL;              /* fcvtpu --> NULL.  */
19540     case 793: value = 794; break;       /* fcvtzu --> fcvtzu.  */
19541     case 794: return NULL;              /* fcvtzu --> NULL.  */
19542     case 777: value = 778; break;       /* fcvtau --> fcvtau.  */
19543     case 778: return NULL;              /* fcvtau --> NULL.  */
19544     case 773: value = 774; break;       /* ucvtf --> ucvtf.  */
19545     case 774: return NULL;              /* ucvtf --> NULL.  */
19546     case 781: value = 782; break;       /* fmov --> fmov.  */
19547     case 782: return NULL;              /* fmov --> NULL.  */
19548     case 816: value = 817; break;       /* fmov --> fmov.  */
19549     case 817: return NULL;              /* fmov --> NULL.  */
19550     case 825: value = 826; break;       /* frintn --> frintn.  */
19551     case 826: return NULL;              /* frintn --> NULL.  */
19552     case 820: value = 821; break;       /* fneg --> fneg.  */
19553     case 821: return NULL;              /* fneg --> NULL.  */
19554     case 829: value = 830; break;       /* frintm --> frintm.  */
19555     case 830: return NULL;              /* frintm --> NULL.  */
19556     case 818: value = 819; break;       /* fabs --> fabs.  */
19557     case 819: return NULL;              /* fabs --> NULL.  */
19558     case 827: value = 828; break;       /* frintp --> frintp.  */
19559     case 828: return NULL;              /* frintp --> NULL.  */
19560     case 822: value = 823; break;       /* fsqrt --> fsqrt.  */
19561     case 823: return NULL;              /* fsqrt --> NULL.  */
19562     case 831: value = 832; break;       /* frintz --> frintz.  */
19563     case 832: return NULL;              /* frintz --> NULL.  */
19564     case 833: value = 834; break;       /* frinta --> frinta.  */
19565     case 834: return NULL;              /* frinta --> NULL.  */
19566     case 835: value = 836; break;       /* frintx --> frintx.  */
19567     case 836: return NULL;              /* frintx --> NULL.  */
19568     case 837: value = 838; break;       /* frinti --> frinti.  */
19569     case 838: return NULL;              /* frinti --> NULL.  */
19570     case 802: value = 803; break;       /* fcmp --> fcmp.  */
19571     case 803: return NULL;              /* fcmp --> NULL.  */
19572     case 804: value = 805; break;       /* fcmpe --> fcmpe.  */
19573     case 805: return NULL;              /* fcmpe --> NULL.  */
19574     case 806: value = 807; break;       /* fcmp --> fcmp.  */
19575     case 807: return NULL;              /* fcmp --> NULL.  */
19576     case 808: value = 809; break;       /* fcmpe --> fcmpe.  */
19577     case 809: return NULL;              /* fcmpe --> NULL.  */
19578     case 865: value = 866; break;       /* fmov --> fmov.  */
19579     case 866: return NULL;              /* fmov --> NULL.  */
19580     case 839: value = 840; break;       /* fmul --> fmul.  */
19581     case 840: return NULL;              /* fmul --> NULL.  */
19582     case 855: value = 856; break;       /* fnmul --> fnmul.  */
19583     case 856: return NULL;              /* fnmul --> NULL.  */
19584     case 847: value = 848; break;       /* fmax --> fmax.  */
19585     case 848: return NULL;              /* fmax --> NULL.  */
19586     case 843: value = 844; break;       /* fadd --> fadd.  */
19587     case 844: return NULL;              /* fadd --> NULL.  */
19588     case 851: value = 852; break;       /* fmaxnm --> fmaxnm.  */
19589     case 852: return NULL;              /* fmaxnm --> NULL.  */
19590     case 841: value = 842; break;       /* fdiv --> fdiv.  */
19591     case 842: return NULL;              /* fdiv --> NULL.  */
19592     case 849: value = 850; break;       /* fmin --> fmin.  */
19593     case 850: return NULL;              /* fmin --> NULL.  */
19594     case 845: value = 846; break;       /* fsub --> fsub.  */
19595     case 846: return NULL;              /* fsub --> NULL.  */
19596     case 853: value = 854; break;       /* fminnm --> fminnm.  */
19597     case 854: return NULL;              /* fminnm --> NULL.  */
19598     case 798: value = 799; break;       /* fccmp --> fccmp.  */
19599     case 799: return NULL;              /* fccmp --> NULL.  */
19600     case 800: value = 801; break;       /* fccmpe --> fccmpe.  */
19601     case 801: return NULL;              /* fccmpe --> NULL.  */
19602     case 867: value = 868; break;       /* fcsel --> fcsel.  */
19603     case 868: return NULL;              /* fcsel --> NULL.  */
19604     case 133: value = 374; break;       /* movi --> sshr.  */
19605     case 374: value = 376; break;       /* sshr --> srshr.  */
19606     case 376: return NULL;              /* srshr --> NULL.  */
19607     case 141: value = 396; break;       /* mvni --> ushr.  */
19608     case 396: value = 398; break;       /* ushr --> urshr.  */
19609     case 398: value = 400; break;       /* urshr --> sri.  */
19610     case 400: value = 402; break;       /* sri --> sqshlu.  */
19611     case 402: return NULL;              /* sqshlu --> NULL.  */
19612     case 134: value = 375; break;       /* orr --> ssra.  */
19613     case 375: value = 377; break;       /* ssra --> srsra.  */
19614     case 377: value = 378; break;       /* srsra --> shl.  */
19615     case 378: value = 379; break;       /* shl --> sqshl.  */
19616     case 379: return NULL;              /* sqshl --> NULL.  */
19617     case 142: value = 397; break;       /* bic --> usra.  */
19618     case 397: value = 399; break;       /* usra --> ursra.  */
19619     case 399: value = 401; break;       /* ursra --> sli.  */
19620     case 401: value = 403; break;       /* sli --> uqshl.  */
19621     case 403: return NULL;              /* uqshl --> NULL.  */
19622     case 857: value = 858; break;       /* fmadd --> fmadd.  */
19623     case 858: return NULL;              /* fmadd --> NULL.  */
19624     case 861: value = 862; break;       /* fnmadd --> fnmadd.  */
19625     case 862: return NULL;              /* fnmadd --> NULL.  */
19626     case 135: value = 380; break;       /* movi --> shrn.  */
19627     case 380: value = 381; break;       /* shrn --> shrn2.  */
19628     case 381: value = 388; break;       /* shrn2 --> sshll.  */
19629     case 388: value = 390; break;       /* sshll --> sshll2.  */
19630     case 390: return NULL;              /* sshll2 --> NULL.  */
19631     case 143: value = 404; break;       /* mvni --> sqshrun.  */
19632     case 404: value = 405; break;       /* sqshrun --> sqshrun2.  */
19633     case 405: value = 412; break;       /* sqshrun2 --> ushll.  */
19634     case 412: value = 414; break;       /* ushll --> ushll2.  */
19635     case 414: return NULL;              /* ushll2 --> NULL.  */
19636     case 136: value = 384; break;       /* orr --> sqshrn.  */
19637     case 384: value = 385; break;       /* sqshrn --> sqshrn2.  */
19638     case 385: return NULL;              /* sqshrn2 --> NULL.  */
19639     case 144: value = 408; break;       /* bic --> uqshrn.  */
19640     case 408: value = 409; break;       /* uqshrn --> uqshrn2.  */
19641     case 409: return NULL;              /* uqshrn2 --> NULL.  */
19642     case 138: value = 392; break;       /* movi --> scvtf.  */
19643     case 392: value = 393; break;       /* scvtf --> scvtf.  */
19644     case 393: return NULL;              /* scvtf --> NULL.  */
19645     case 146: value = 147; break;       /* movi --> movi.  */
19646     case 147: value = 416; break;       /* movi --> ucvtf.  */
19647     case 416: value = 417; break;       /* ucvtf --> ucvtf.  */
19648     case 417: return NULL;              /* ucvtf --> NULL.  */
19649     case 140: value = 394; break;       /* fmov --> fcvtzs.  */
19650     case 394: value = 395; break;       /* fcvtzs --> fcvtzs.  */
19651     case 395: return NULL;              /* fcvtzs --> NULL.  */
19652     case 418: value = 419; break;       /* fcvtzu --> fcvtzu.  */
19653     case 419: return NULL;              /* fcvtzu --> NULL.  */
19654     case 859: value = 860; break;       /* fmsub --> fmsub.  */
19655     case 860: return NULL;              /* fmsub --> NULL.  */
19656     case 863: value = 864; break;       /* fnmsub --> fnmsub.  */
19657     case 864: return NULL;              /* fnmsub --> NULL.  */
19658     case 598: value = 599; break;       /* scvtf --> scvtf.  */
19659     case 599: return NULL;              /* scvtf --> NULL.  */
19660     case 600: value = 601; break;       /* fcvtzs --> fcvtzs.  */
19661     case 601: return NULL;              /* fcvtzs --> NULL.  */
19662     case 614: value = 615; break;       /* ucvtf --> ucvtf.  */
19663     case 615: return NULL;              /* ucvtf --> NULL.  */
19664     case 616: value = 617; break;       /* fcvtzu --> fcvtzu.  */
19665     case 617: return NULL;              /* fcvtzu --> NULL.  */
19666     default: return NULL;
19667     }
19668
19669   return aarch64_opcode_table + value;
19670 }
19671
19672 const aarch64_opcode *
19673 aarch64_find_alias_opcode (const aarch64_opcode *opcode)
19674 {
19675   /* Use the index as the key to locate the alias opcode.  */
19676   int key = opcode - aarch64_opcode_table;
19677   int value;
19678   switch (key)
19679     {
19680     case 2: value = 3; break;   /* sbc --> ngc.  */
19681     case 4: value = 5; break;   /* sbcs --> ngcs.  */
19682     case 7: value = 8; break;   /* adds --> cmn.  */
19683     case 10: value = 11; break; /* subs --> cmp.  */
19684     case 12: value = 13; break; /* add --> mov.  */
19685     case 14: value = 15; break; /* adds --> cmn.  */
19686     case 17: value = 18; break; /* subs --> cmp.  */
19687     case 22: value = 23; break; /* adds --> cmn.  */
19688     case 24: value = 25; break; /* sub --> neg.  */
19689     case 26: value = 27; break; /* subs --> cmp.  */
19690     case 152: value = 153; break;       /* umov --> mov.  */
19691     case 154: value = 155; break;       /* ins --> mov.  */
19692     case 156: value = 157; break;       /* ins --> mov.  */
19693     case 242: value = 243; break;       /* not --> mvn.  */
19694     case 317: value = 318; break;       /* orr --> mov.  */
19695     case 388: value = 389; break;       /* sshll --> sxtl.  */
19696     case 390: value = 391; break;       /* sshll2 --> sxtl2.  */
19697     case 412: value = 413; break;       /* ushll --> uxtl.  */
19698     case 414: value = 415; break;       /* ushll2 --> uxtl2.  */
19699     case 535: value = 536; break;       /* dup --> mov.  */
19700     case 618: value = 623; break;       /* sbfm --> sxtw.  */
19701     case 625: value = 627; break;       /* bfm --> bfc.  */
19702     case 629: value = 633; break;       /* ubfm --> uxth.  */
19703     case 663: value = 665; break;       /* csinc --> cset.  */
19704     case 666: value = 668; break;       /* csinv --> csetm.  */
19705     case 669: value = 670; break;       /* csneg --> cneg.  */
19706     case 688: value = 688; break;       /* rev --> rev.  */
19707     case 713: value = 714; break;       /* lslv --> lsl.  */
19708     case 715: value = 716; break;       /* lsrv --> lsr.  */
19709     case 717: value = 718; break;       /* asrv --> asr.  */
19710     case 719: value = 720; break;       /* rorv --> ror.  */
19711     case 722: value = 723; break;       /* subps --> cmpp.  */
19712     case 735: value = 736; break;       /* madd --> mul.  */
19713     case 737: value = 738; break;       /* msub --> mneg.  */
19714     case 739: value = 740; break;       /* smaddl --> smull.  */
19715     case 741: value = 742; break;       /* smsubl --> smnegl.  */
19716     case 744: value = 745; break;       /* umaddl --> umull.  */
19717     case 746: value = 747; break;       /* umsubl --> umnegl.  */
19718     case 757: value = 758; break;       /* extr --> ror.  */
19719     case 989: value = 990; break;       /* and --> bic.  */
19720     case 991: value = 992; break;       /* orr --> mov.  */
19721     case 994: value = 995; break;       /* ands --> tst.  */
19722     case 998: value = 1000; break;      /* orr --> uxtw.  */
19723     case 1001: value = 1002; break;     /* orn --> mvn.  */
19724     case 1005: value = 1006; break;     /* ands --> tst.  */
19725     case 1036: value = 1132; break;     /* ldaddb --> staddb.  */
19726     case 1037: value = 1133; break;     /* ldaddh --> staddh.  */
19727     case 1038: value = 1134; break;     /* ldadd --> stadd.  */
19728     case 1040: value = 1135; break;     /* ldaddlb --> staddlb.  */
19729     case 1043: value = 1136; break;     /* ldaddlh --> staddlh.  */
19730     case 1046: value = 1137; break;     /* ldaddl --> staddl.  */
19731     case 1048: value = 1138; break;     /* ldclrb --> stclrb.  */
19732     case 1049: value = 1139; break;     /* ldclrh --> stclrh.  */
19733     case 1050: value = 1140; break;     /* ldclr --> stclr.  */
19734     case 1052: value = 1141; break;     /* ldclrlb --> stclrlb.  */
19735     case 1055: value = 1142; break;     /* ldclrlh --> stclrlh.  */
19736     case 1058: value = 1143; break;     /* ldclrl --> stclrl.  */
19737     case 1060: value = 1144; break;     /* ldeorb --> steorb.  */
19738     case 1061: value = 1145; break;     /* ldeorh --> steorh.  */
19739     case 1062: value = 1146; break;     /* ldeor --> steor.  */
19740     case 1064: value = 1147; break;     /* ldeorlb --> steorlb.  */
19741     case 1067: value = 1148; break;     /* ldeorlh --> steorlh.  */
19742     case 1070: value = 1149; break;     /* ldeorl --> steorl.  */
19743     case 1072: value = 1150; break;     /* ldsetb --> stsetb.  */
19744     case 1073: value = 1151; break;     /* ldseth --> stseth.  */
19745     case 1074: value = 1152; break;     /* ldset --> stset.  */
19746     case 1076: value = 1153; break;     /* ldsetlb --> stsetlb.  */
19747     case 1079: value = 1154; break;     /* ldsetlh --> stsetlh.  */
19748     case 1082: value = 1155; break;     /* ldsetl --> stsetl.  */
19749     case 1084: value = 1156; break;     /* ldsmaxb --> stsmaxb.  */
19750     case 1085: value = 1157; break;     /* ldsmaxh --> stsmaxh.  */
19751     case 1086: value = 1158; break;     /* ldsmax --> stsmax.  */
19752     case 1088: value = 1159; break;     /* ldsmaxlb --> stsmaxlb.  */
19753     case 1091: value = 1160; break;     /* ldsmaxlh --> stsmaxlh.  */
19754     case 1094: value = 1161; break;     /* ldsmaxl --> stsmaxl.  */
19755     case 1096: value = 1162; break;     /* ldsminb --> stsminb.  */
19756     case 1097: value = 1163; break;     /* ldsminh --> stsminh.  */
19757     case 1098: value = 1164; break;     /* ldsmin --> stsmin.  */
19758     case 1100: value = 1165; break;     /* ldsminlb --> stsminlb.  */
19759     case 1103: value = 1166; break;     /* ldsminlh --> stsminlh.  */
19760     case 1106: value = 1167; break;     /* ldsminl --> stsminl.  */
19761     case 1108: value = 1168; break;     /* ldumaxb --> stumaxb.  */
19762     case 1109: value = 1169; break;     /* ldumaxh --> stumaxh.  */
19763     case 1110: value = 1170; break;     /* ldumax --> stumax.  */
19764     case 1112: value = 1171; break;     /* ldumaxlb --> stumaxlb.  */
19765     case 1115: value = 1172; break;     /* ldumaxlh --> stumaxlh.  */
19766     case 1118: value = 1173; break;     /* ldumaxl --> stumaxl.  */
19767     case 1120: value = 1174; break;     /* lduminb --> stuminb.  */
19768     case 1121: value = 1175; break;     /* lduminh --> stuminh.  */
19769     case 1122: value = 1176; break;     /* ldumin --> stumin.  */
19770     case 1124: value = 1177; break;     /* lduminlb --> stuminlb.  */
19771     case 1127: value = 1178; break;     /* lduminlh --> stuminlh.  */
19772     case 1130: value = 1179; break;     /* lduminl --> stuminl.  */
19773     case 1180: value = 1181; break;     /* movn --> mov.  */
19774     case 1182: value = 1183; break;     /* movz --> mov.  */
19775     case 1188: value = 1229; break;     /* hint --> autibsp.  */
19776     case 1205: value = 1207; break;     /* dsb --> pssbb.  */
19777     case 1211: value = 1218; break;     /* sys --> cpp.  */
19778     case 1277: value = 2027; break;     /* and --> bic.  */
19779     case 1279: value = 1260; break;     /* and --> mov.  */
19780     case 1280: value = 1264; break;     /* ands --> movs.  */
19781     case 1315: value = 2028; break;     /* cmpge --> cmple.  */
19782     case 1318: value = 2031; break;     /* cmpgt --> cmplt.  */
19783     case 1320: value = 2029; break;     /* cmphi --> cmplo.  */
19784     case 1323: value = 2030; break;     /* cmphs --> cmpls.  */
19785     case 1345: value = 1257; break;     /* cpy --> mov.  */
19786     case 1346: value = 1259; break;     /* cpy --> mov.  */
19787     case 1347: value = 2038; break;     /* cpy --> fmov.  */
19788     case 1359: value = 1252; break;     /* dup --> mov.  */
19789     case 1360: value = 1254; break;     /* dup --> mov.  */
19790     case 1361: value = 2037; break;     /* dup --> fmov.  */
19791     case 1362: value = 1255; break;     /* dupm --> mov.  */
19792     case 1364: value = 2032; break;     /* eor --> eon.  */
19793     case 1366: value = 1265; break;     /* eor --> not.  */
19794     case 1367: value = 1266; break;     /* eors --> nots.  */
19795     case 1372: value = 2033; break;     /* facge --> facle.  */
19796     case 1373: value = 2034; break;     /* facgt --> faclt.  */
19797     case 1386: value = 2035; break;     /* fcmge --> fcmle.  */
19798     case 1388: value = 2036; break;     /* fcmgt --> fcmlt.  */
19799     case 1394: value = 1249; break;     /* fcpy --> fmov.  */
19800     case 1417: value = 1248; break;     /* fdup --> fmov.  */
19801     case 1748: value = 1250; break;     /* orr --> mov.  */
19802     case 1749: value = 2039; break;     /* orr --> orn.  */
19803     case 1751: value = 1253; break;     /* orr --> mov.  */
19804     case 1752: value = 1263; break;     /* orrs --> movs.  */
19805     case 1814: value = 1258; break;     /* sel --> mov.  */
19806     case 1815: value = 1261; break;     /* sel --> mov.  */
19807     default: return NULL;
19808     }
19809
19810   return aarch64_opcode_table + value;
19811 }
19812
19813 const aarch64_opcode *
19814 aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
19815 {
19816   /* Use the index as the key to locate the next opcode.  */
19817   int key = opcode - aarch64_opcode_table;
19818   int value;
19819   switch (key)
19820     {
19821     case 3: value = 2; break;   /* ngc --> sbc.  */
19822     case 5: value = 4; break;   /* ngcs --> sbcs.  */
19823     case 8: value = 7; break;   /* cmn --> adds.  */
19824     case 11: value = 10; break; /* cmp --> subs.  */
19825     case 13: value = 12; break; /* mov --> add.  */
19826     case 15: value = 14; break; /* cmn --> adds.  */
19827     case 18: value = 17; break; /* cmp --> subs.  */
19828     case 23: value = 22; break; /* cmn --> adds.  */
19829     case 25: value = 24; break; /* neg --> sub.  */
19830     case 27: value = 28; break; /* cmp --> negs.  */
19831     case 28: value = 26; break; /* negs --> subs.  */
19832     case 153: value = 152; break;       /* mov --> umov.  */
19833     case 155: value = 154; break;       /* mov --> ins.  */
19834     case 157: value = 156; break;       /* mov --> ins.  */
19835     case 243: value = 242; break;       /* mvn --> not.  */
19836     case 318: value = 317; break;       /* mov --> orr.  */
19837     case 389: value = 388; break;       /* sxtl --> sshll.  */
19838     case 391: value = 390; break;       /* sxtl2 --> sshll2.  */
19839     case 413: value = 412; break;       /* uxtl --> ushll.  */
19840     case 415: value = 414; break;       /* uxtl2 --> ushll2.  */
19841     case 536: value = 535; break;       /* mov --> dup.  */
19842     case 623: value = 622; break;       /* sxtw --> sxth.  */
19843     case 622: value = 621; break;       /* sxth --> sxtb.  */
19844     case 621: value = 624; break;       /* sxtb --> asr.  */
19845     case 624: value = 620; break;       /* asr --> sbfx.  */
19846     case 620: value = 619; break;       /* sbfx --> sbfiz.  */
19847     case 619: value = 618; break;       /* sbfiz --> sbfm.  */
19848     case 627: value = 628; break;       /* bfc --> bfxil.  */
19849     case 628: value = 626; break;       /* bfxil --> bfi.  */
19850     case 626: value = 625; break;       /* bfi --> bfm.  */
19851     case 633: value = 632; break;       /* uxth --> uxtb.  */
19852     case 632: value = 635; break;       /* uxtb --> lsr.  */
19853     case 635: value = 634; break;       /* lsr --> lsl.  */
19854     case 634: value = 631; break;       /* lsl --> ubfx.  */
19855     case 631: value = 630; break;       /* ubfx --> ubfiz.  */
19856     case 630: value = 629; break;       /* ubfiz --> ubfm.  */
19857     case 665: value = 664; break;       /* cset --> cinc.  */
19858     case 664: value = 663; break;       /* cinc --> csinc.  */
19859     case 668: value = 667; break;       /* csetm --> cinv.  */
19860     case 667: value = 666; break;       /* cinv --> csinv.  */
19861     case 670: value = 669; break;       /* cneg --> csneg.  */
19862     case 688: value = 689; break;       /* rev --> rev64.  */
19863     case 714: value = 713; break;       /* lsl --> lslv.  */
19864     case 716: value = 715; break;       /* lsr --> lsrv.  */
19865     case 718: value = 717; break;       /* asr --> asrv.  */
19866     case 720: value = 719; break;       /* ror --> rorv.  */
19867     case 723: value = 722; break;       /* cmpp --> subps.  */
19868     case 736: value = 735; break;       /* mul --> madd.  */
19869     case 738: value = 737; break;       /* mneg --> msub.  */
19870     case 740: value = 739; break;       /* smull --> smaddl.  */
19871     case 742: value = 741; break;       /* smnegl --> smsubl.  */
19872     case 745: value = 744; break;       /* umull --> umaddl.  */
19873     case 747: value = 746; break;       /* umnegl --> umsubl.  */
19874     case 758: value = 757; break;       /* ror --> extr.  */
19875     case 990: value = 989; break;       /* bic --> and.  */
19876     case 992: value = 991; break;       /* mov --> orr.  */
19877     case 995: value = 994; break;       /* tst --> ands.  */
19878     case 1000: value = 999; break;      /* uxtw --> mov.  */
19879     case 999: value = 998; break;       /* mov --> orr.  */
19880     case 1002: value = 1001; break;     /* mvn --> orn.  */
19881     case 1006: value = 1005; break;     /* tst --> ands.  */
19882     case 1132: value = 1036; break;     /* staddb --> ldaddb.  */
19883     case 1133: value = 1037; break;     /* staddh --> ldaddh.  */
19884     case 1134: value = 1038; break;     /* stadd --> ldadd.  */
19885     case 1135: value = 1040; break;     /* staddlb --> ldaddlb.  */
19886     case 1136: value = 1043; break;     /* staddlh --> ldaddlh.  */
19887     case 1137: value = 1046; break;     /* staddl --> ldaddl.  */
19888     case 1138: value = 1048; break;     /* stclrb --> ldclrb.  */
19889     case 1139: value = 1049; break;     /* stclrh --> ldclrh.  */
19890     case 1140: value = 1050; break;     /* stclr --> ldclr.  */
19891     case 1141: value = 1052; break;     /* stclrlb --> ldclrlb.  */
19892     case 1142: value = 1055; break;     /* stclrlh --> ldclrlh.  */
19893     case 1143: value = 1058; break;     /* stclrl --> ldclrl.  */
19894     case 1144: value = 1060; break;     /* steorb --> ldeorb.  */
19895     case 1145: value = 1061; break;     /* steorh --> ldeorh.  */
19896     case 1146: value = 1062; break;     /* steor --> ldeor.  */
19897     case 1147: value = 1064; break;     /* steorlb --> ldeorlb.  */
19898     case 1148: value = 1067; break;     /* steorlh --> ldeorlh.  */
19899     case 1149: value = 1070; break;     /* steorl --> ldeorl.  */
19900     case 1150: value = 1072; break;     /* stsetb --> ldsetb.  */
19901     case 1151: value = 1073; break;     /* stseth --> ldseth.  */
19902     case 1152: value = 1074; break;     /* stset --> ldset.  */
19903     case 1153: value = 1076; break;     /* stsetlb --> ldsetlb.  */
19904     case 1154: value = 1079; break;     /* stsetlh --> ldsetlh.  */
19905     case 1155: value = 1082; break;     /* stsetl --> ldsetl.  */
19906     case 1156: value = 1084; break;     /* stsmaxb --> ldsmaxb.  */
19907     case 1157: value = 1085; break;     /* stsmaxh --> ldsmaxh.  */
19908     case 1158: value = 1086; break;     /* stsmax --> ldsmax.  */
19909     case 1159: value = 1088; break;     /* stsmaxlb --> ldsmaxlb.  */
19910     case 1160: value = 1091; break;     /* stsmaxlh --> ldsmaxlh.  */
19911     case 1161: value = 1094; break;     /* stsmaxl --> ldsmaxl.  */
19912     case 1162: value = 1096; break;     /* stsminb --> ldsminb.  */
19913     case 1163: value = 1097; break;     /* stsminh --> ldsminh.  */
19914     case 1164: value = 1098; break;     /* stsmin --> ldsmin.  */
19915     case 1165: value = 1100; break;     /* stsminlb --> ldsminlb.  */
19916     case 1166: value = 1103; break;     /* stsminlh --> ldsminlh.  */
19917     case 1167: value = 1106; break;     /* stsminl --> ldsminl.  */
19918     case 1168: value = 1108; break;     /* stumaxb --> ldumaxb.  */
19919     case 1169: value = 1109; break;     /* stumaxh --> ldumaxh.  */
19920     case 1170: value = 1110; break;     /* stumax --> ldumax.  */
19921     case 1171: value = 1112; break;     /* stumaxlb --> ldumaxlb.  */
19922     case 1172: value = 1115; break;     /* stumaxlh --> ldumaxlh.  */
19923     case 1173: value = 1118; break;     /* stumaxl --> ldumaxl.  */
19924     case 1174: value = 1120; break;     /* stuminb --> lduminb.  */
19925     case 1175: value = 1121; break;     /* stuminh --> lduminh.  */
19926     case 1176: value = 1122; break;     /* stumin --> ldumin.  */
19927     case 1177: value = 1124; break;     /* stuminlb --> lduminlb.  */
19928     case 1178: value = 1127; break;     /* stuminlh --> lduminlh.  */
19929     case 1179: value = 1130; break;     /* stuminl --> lduminl.  */
19930     case 1181: value = 1180; break;     /* mov --> movn.  */
19931     case 1183: value = 1182; break;     /* mov --> movz.  */
19932     case 1229: value = 1228; break;     /* autibsp --> autibz.  */
19933     case 1228: value = 1227; break;     /* autibz --> autiasp.  */
19934     case 1227: value = 1226; break;     /* autiasp --> autiaz.  */
19935     case 1226: value = 1225; break;     /* autiaz --> pacibsp.  */
19936     case 1225: value = 1224; break;     /* pacibsp --> pacibz.  */
19937     case 1224: value = 1223; break;     /* pacibz --> paciasp.  */
19938     case 1223: value = 1222; break;     /* paciasp --> paciaz.  */
19939     case 1222: value = 1203; break;     /* paciaz --> psb.  */
19940     case 1203: value = 1202; break;     /* psb --> esb.  */
19941     case 1202: value = 1201; break;     /* esb --> autib1716.  */
19942     case 1201: value = 1200; break;     /* autib1716 --> autia1716.  */
19943     case 1200: value = 1199; break;     /* autia1716 --> pacib1716.  */
19944     case 1199: value = 1198; break;     /* pacib1716 --> pacia1716.  */
19945     case 1198: value = 1197; break;     /* pacia1716 --> xpaclri.  */
19946     case 1197: value = 1196; break;     /* xpaclri --> sevl.  */
19947     case 1196: value = 1195; break;     /* sevl --> sev.  */
19948     case 1195: value = 1194; break;     /* sev --> wfi.  */
19949     case 1194: value = 1193; break;     /* wfi --> wfe.  */
19950     case 1193: value = 1192; break;     /* wfe --> yield.  */
19951     case 1192: value = 1191; break;     /* yield --> bti.  */
19952     case 1191: value = 1190; break;     /* bti --> csdb.  */
19953     case 1190: value = 1189; break;     /* csdb --> nop.  */
19954     case 1189: value = 1188; break;     /* nop --> hint.  */
19955     case 1207: value = 1206; break;     /* pssbb --> ssbb.  */
19956     case 1206: value = 1205; break;     /* ssbb --> dsb.  */
19957     case 1218: value = 1217; break;     /* cpp --> dvp.  */
19958     case 1217: value = 1216; break;     /* dvp --> cfp.  */
19959     case 1216: value = 1215; break;     /* cfp --> tlbi.  */
19960     case 1215: value = 1214; break;     /* tlbi --> ic.  */
19961     case 1214: value = 1213; break;     /* ic --> dc.  */
19962     case 1213: value = 1212; break;     /* dc --> at.  */
19963     case 1212: value = 1211; break;     /* at --> sys.  */
19964     case 2027: value = 1277; break;     /* bic --> and.  */
19965     case 1260: value = 1279; break;     /* mov --> and.  */
19966     case 1264: value = 1280; break;     /* movs --> ands.  */
19967     case 2028: value = 1315; break;     /* cmple --> cmpge.  */
19968     case 2031: value = 1318; break;     /* cmplt --> cmpgt.  */
19969     case 2029: value = 1320; break;     /* cmplo --> cmphi.  */
19970     case 2030: value = 1323; break;     /* cmpls --> cmphs.  */
19971     case 1257: value = 1345; break;     /* mov --> cpy.  */
19972     case 1259: value = 1346; break;     /* mov --> cpy.  */
19973     case 2038: value = 1262; break;     /* fmov --> mov.  */
19974     case 1262: value = 1347; break;     /* mov --> cpy.  */
19975     case 1252: value = 1359; break;     /* mov --> dup.  */
19976     case 1254: value = 1251; break;     /* mov --> mov.  */
19977     case 1251: value = 1360; break;     /* mov --> dup.  */
19978     case 2037: value = 1256; break;     /* fmov --> mov.  */
19979     case 1256: value = 1361; break;     /* mov --> dup.  */
19980     case 1255: value = 1362; break;     /* mov --> dupm.  */
19981     case 2032: value = 1364; break;     /* eon --> eor.  */
19982     case 1265: value = 1366; break;     /* not --> eor.  */
19983     case 1266: value = 1367; break;     /* nots --> eors.  */
19984     case 2033: value = 1372; break;     /* facle --> facge.  */
19985     case 2034: value = 1373; break;     /* faclt --> facgt.  */
19986     case 2035: value = 1386; break;     /* fcmle --> fcmge.  */
19987     case 2036: value = 1388; break;     /* fcmlt --> fcmgt.  */
19988     case 1249: value = 1394; break;     /* fmov --> fcpy.  */
19989     case 1248: value = 1417; break;     /* fmov --> fdup.  */
19990     case 1250: value = 1748; break;     /* mov --> orr.  */
19991     case 2039: value = 1749; break;     /* orn --> orr.  */
19992     case 1253: value = 1751; break;     /* mov --> orr.  */
19993     case 1263: value = 1752; break;     /* movs --> orrs.  */
19994     case 1258: value = 1814; break;     /* mov --> sel.  */
19995     case 1261: value = 1815; break;     /* mov --> sel.  */
19996     default: return NULL;
19997     }
19998
19999   return aarch64_opcode_table + value;
20000 }
20001
20002 bfd_boolean
20003 aarch64_extract_operand (const aarch64_operand *self,
20004                            aarch64_opnd_info *info,
20005                            aarch64_insn code, const aarch64_inst *inst,
20006                            aarch64_operand_error *errors)
20007 {
20008   /* Use the index as the key.  */
20009   int key = self - aarch64_operands;
20010   switch (key)
20011     {
20012     case 1:
20013     case 2:
20014     case 3:
20015     case 4:
20016     case 5:
20017     case 6:
20018     case 7:
20019     case 9:
20020     case 10:
20021     case 11:
20022     case 15:
20023     case 16:
20024     case 17:
20025     case 18:
20026     case 20:
20027     case 21:
20028     case 22:
20029     case 23:
20030     case 24:
20031     case 25:
20032     case 26:
20033     case 27:
20034     case 28:
20035     case 29:
20036     case 160:
20037     case 161:
20038     case 162:
20039     case 163:
20040     case 164:
20041     case 165:
20042     case 166:
20043     case 167:
20044     case 168:
20045     case 169:
20046     case 182:
20047     case 183:
20048     case 184:
20049     case 185:
20050     case 186:
20051     case 187:
20052     case 188:
20053     case 189:
20054     case 190:
20055     case 194:
20056     case 197:
20057       return aarch64_ext_regno (self, info, code, inst, errors);
20058     case 8:
20059       return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
20060     case 12:
20061       return aarch64_ext_regno_pair (self, info, code, inst, errors);
20062     case 13:
20063       return aarch64_ext_reg_extended (self, info, code, inst, errors);
20064     case 14:
20065       return aarch64_ext_reg_shifted (self, info, code, inst, errors);
20066     case 19:
20067       return aarch64_ext_ft (self, info, code, inst, errors);
20068     case 30:
20069     case 31:
20070     case 32:
20071     case 33:
20072     case 199:
20073       return aarch64_ext_reglane (self, info, code, inst, errors);
20074     case 34:
20075       return aarch64_ext_reglist (self, info, code, inst, errors);
20076     case 35:
20077       return aarch64_ext_ldst_reglist (self, info, code, inst, errors);
20078     case 36:
20079       return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors);
20080     case 37:
20081       return aarch64_ext_ldst_elemlist (self, info, code, inst, errors);
20082     case 38:
20083     case 39:
20084     case 40:
20085     case 41:
20086     case 51:
20087     case 52:
20088     case 53:
20089     case 54:
20090     case 55:
20091     case 56:
20092     case 57:
20093     case 58:
20094     case 59:
20095     case 60:
20096     case 61:
20097     case 62:
20098     case 63:
20099     case 64:
20100     case 65:
20101     case 66:
20102     case 77:
20103     case 78:
20104     case 79:
20105     case 80:
20106     case 81:
20107     case 157:
20108     case 159:
20109     case 174:
20110     case 175:
20111     case 176:
20112     case 177:
20113     case 178:
20114     case 179:
20115     case 180:
20116     case 181:
20117       return aarch64_ext_imm (self, info, code, inst, errors);
20118     case 42:
20119     case 43:
20120       return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors);
20121     case 44:
20122     case 45:
20123     case 46:
20124       return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors);
20125     case 47:
20126       return aarch64_ext_shll_imm (self, info, code, inst, errors);
20127     case 50:
20128     case 148:
20129       return aarch64_ext_fpimm (self, info, code, inst, errors);
20130     case 67:
20131     case 155:
20132       return aarch64_ext_limm (self, info, code, inst, errors);
20133     case 68:
20134       return aarch64_ext_aimm (self, info, code, inst, errors);
20135     case 69:
20136       return aarch64_ext_imm_half (self, info, code, inst, errors);
20137     case 70:
20138       return aarch64_ext_fbits (self, info, code, inst, errors);
20139     case 72:
20140     case 73:
20141     case 153:
20142       return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
20143     case 74:
20144     case 152:
20145       return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
20146     case 75:
20147     case 76:
20148       return aarch64_ext_cond (self, info, code, inst, errors);
20149     case 82:
20150     case 92:
20151       return aarch64_ext_addr_simple (self, info, code, inst, errors);
20152     case 83:
20153       return aarch64_ext_addr_simple_2 (self, info, code, inst, errors);
20154     case 84:
20155       return aarch64_ext_addr_regoff (self, info, code, inst, errors);
20156     case 85:
20157     case 86:
20158     case 87:
20159     case 89:
20160     case 91:
20161       return aarch64_ext_addr_simm (self, info, code, inst, errors);
20162     case 88:
20163       return aarch64_ext_addr_simm10 (self, info, code, inst, errors);
20164     case 90:
20165       return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
20166     case 93:
20167       return aarch64_ext_addr_offset (self, info, code, inst, errors);
20168     case 94:
20169       return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
20170     case 95:
20171       return aarch64_ext_sysreg (self, info, code, inst, errors);
20172     case 96:
20173       return aarch64_ext_pstatefield (self, info, code, inst, errors);
20174     case 97:
20175     case 98:
20176     case 99:
20177     case 100:
20178     case 101:
20179       return aarch64_ext_sysins_op (self, info, code, inst, errors);
20180     case 102:
20181     case 103:
20182       return aarch64_ext_barrier (self, info, code, inst, errors);
20183     case 104:
20184       return aarch64_ext_prfop (self, info, code, inst, errors);
20185     case 105:
20186     case 106:
20187       return aarch64_ext_hint (self, info, code, inst, errors);
20188     case 107:
20189       return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
20190     case 108:
20191     case 109:
20192     case 110:
20193     case 111:
20194       return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
20195     case 112:
20196       return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
20197     case 113:
20198       return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
20199     case 114:
20200     case 115:
20201     case 116:
20202     case 117:
20203       return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
20204     case 118:
20205     case 119:
20206     case 120:
20207     case 121:
20208     case 122:
20209     case 123:
20210     case 124:
20211     case 125:
20212     case 126:
20213     case 127:
20214     case 128:
20215     case 129:
20216     case 130:
20217       return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
20218     case 131:
20219     case 132:
20220     case 133:
20221     case 134:
20222     case 135:
20223     case 136:
20224     case 137:
20225     case 138:
20226       return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
20227     case 139:
20228     case 140:
20229     case 141:
20230     case 142:
20231       return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
20232     case 143:
20233       return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
20234     case 144:
20235       return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
20236     case 145:
20237       return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
20238     case 146:
20239       return aarch64_ext_sve_aimm (self, info, code, inst, errors);
20240     case 147:
20241       return aarch64_ext_sve_asimm (self, info, code, inst, errors);
20242     case 149:
20243       return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
20244     case 150:
20245       return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
20246     case 151:
20247       return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors);
20248     case 154:
20249       return aarch64_ext_inv_limm (self, info, code, inst, errors);
20250     case 156:
20251       return aarch64_ext_sve_limm_mov (self, info, code, inst, errors);
20252     case 158:
20253       return aarch64_ext_sve_scale (self, info, code, inst, errors);
20254     case 170:
20255     case 171:
20256       return aarch64_ext_sve_shlimm (self, info, code, inst, errors);
20257     case 172:
20258     case 173:
20259       return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
20260     case 191:
20261     case 192:
20262     case 193:
20263       return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
20264     case 195:
20265       return aarch64_ext_sve_index (self, info, code, inst, errors);
20266     case 196:
20267     case 198:
20268       return aarch64_ext_sve_reglist (self, info, code, inst, errors);
20269     default: assert (0); abort ();
20270     }
20271 }