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