/* This file is automatically generated by aarch64-gen.  Do not edit!  */
/* Copyright (C) 2012-2025 Free Software Foundation, Inc.
  Contributed by ARM Ltd.

  This file is part of the GNU opcodes library.

  This library is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 3, or (at your option)
  any later version.

  It is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
  License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; see the file COPYING3. If not,
  see <http://www.gnu.org/licenses/>.  */

#include "sysdep.h"
#include "aarch64-dis.h"

/* Called by aarch64_opcode_lookup.  */

static int
aarch64_opcode_lookup_1 (uint32_t word)
{
 if (((word >> 26) & 0x1) == 0)
   {
     if (((word >> 25) & 0x1) == 0)
       {
         if (((word >> 27) & 0x1) == 0)
           {
             if (((word >> 24) & 0x1) == 0)
               {
                 if (((word >> 28) & 0x1) == 0)
                   {
                     if (((word >> 21) & 0x1) == 0)
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 22) & 0x1) == 0)
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0000000000xxxxxxxxxxxxxxxxxxxxx
                                            udf.  */
                                         return 794;
                                       }
                                     else
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000000100xxxxxxxxxxxxxxxx00xxx
                                                    fmopa.  */
                                                 return 2506;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000000100xxxxxxxxxxxxxxxx10xxx
                                                    fmops.  */
                                                 return 2509;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000000100xxxxxxxxxxxxxxxx01xxx
                                                    bmopa.  */
                                                 return 2610;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000000100xxxxxxxxxxxxxxxx11xxx
                                                    bmops.  */
                                                 return 2611;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0000000x10xxxxxxxxxxxxxxxx0xxxx
                                            fmopa.  */
                                         return 2507;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0000000x10xxxxxxxxxxxxxxxx1xxxx
                                            fmops.  */
                                         return 2510;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 18) & 0x1) == 0)
                                   {
                                     if (((word >> 17) & 0x1) == 0)
                                       {
                                         if (((word >> 19) & 0x1) == 0)
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000000xx00000xxxxxxxxxxxxxxxxx
                                                    mova.  */
                                                 return 2532;
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000x0010000xxxxxxxxxxxxxxxx
                                                            addha.  */
                                                         return 2498;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000x1010000xxxxxxxxxxxxxxxx
                                                            addha.  */
                                                         return 2499;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000x0010001xxxxxxxxxxxxxxxx
                                                            addva.  */
                                                         return 2502;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000x1010001xxxxxxxxxxxxxxxx
                                                            addva.  */
                                                         return 2503;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000000x00x100xxxxxxxxxxxxxxxxx
                                                    zero.  */
                                                 return 2533;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000000x10x100xxxxxxxxxxxxxxxxx
                                                    zero.  */
                                                 return 3040;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 19) & 0x1) == 0)
                                           {
                                             if (((word >> 9) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000000xx0x001xxxxxxx0xxxxxxxxx
                                                    mova.  */
                                                 return 2531;
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000000x0010xxxxxx1xxxxxxxxx
                                                                movaz.  */
                                                             return 3505;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000100x0010xxxxxx1xxxxxxxxx
                                                                movaz.  */
                                                             return 3507;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000010x0010xxxxxx1xxxxxxxxx
                                                                movaz.  */
                                                             return 3506;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000110x0010xxxxxx1xxxxxxxxx
                                                                movaz.  */
                                                             return 3508;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx0x0011xxxxxx1xxxxxxxxx
                                                        movaz.  */
                                                     return 3509;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000x000101x00xxxxxxxxxxxxxx
                                                                luti4.  */
                                                             return 3645;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000x000101x10xxxxxxxxxxxxxx
                                                                luti4.  */
                                                             return 2754;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000x000101xx1xxxxxxxxxxxxxx
                                                            luti4.  */
                                                         return 2753;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000x100101xxxxxxxxxxxxxxxxx
                                                        luti4.  */
                                                     return 2752;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000xx01101x00xxxxxxxxxxxxxx
                                                            luti4.  */
                                                         return 3646;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000xx01101x10xxxxxxxxxxxxxx
                                                            luti4.  */
                                                         return 3502;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx01101xx1xxxxxxxxxxxxxx
                                                        luti4.  */
                                                     return 3501;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 10) & 0x1) == 0)
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 19) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx0x010xxxxx00xxxxxxxxxx
                                                        mova.  */
                                                     return 2769;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 9) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000xx0x011xxxxx000xxxxxxxxx
                                                            mova.  */
                                                         return 2765;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000000000x011xxxxx001xxxxxxxxx
                                                                    movaz.  */
                                                                 return 3495;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000000100x011xxxxx001xxxxxxxxx
                                                                    movaz.  */
                                                                 return 3497;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000000010x011xxxxx001xxxxxxxxx
                                                                    movaz.  */
                                                                 return 3496;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000000110x011xxxxx001xxxxxxxxx
                                                                    movaz.  */
                                                                 return 3498;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 20) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 17) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011000xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3510;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011100xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3511;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 17) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011010xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3513;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011110xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3516;
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 17) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011001xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3512;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011101xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3515;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 17) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011011xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3514;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000000000011111xxx00xxxxxxxxxx
                                                                            zero.  */
                                                                         return 3517;
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000000100011xxx0xx00xxxxxxxxxx
                                                                    luti2.  */
                                                                 return 2751;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000000100011xxx1xx00xxxxxxxxxx
                                                                    luti2.  */
                                                                 return 2750;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x100000001001100xxxx00xxxxxxxxxx
                                                                        movt.  */
                                                                     return 2772;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x100000001001110xxxx00xxxxxxxxxx
                                                                        movt.  */
                                                                     return 2771;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000000010011x1xxxx00xxxxxxxxxx
                                                                    movt.  */
                                                                 return 3647;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000110011xxxxxx00xxxxxxxxxx
                                                                luti2.  */
                                                             return 2749;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000xx0111xxx0xx00xxxxxxxxxx
                                                            luti2.  */
                                                         return 3500;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000000xx0111xxx1xx00xxxxxxxxxx
                                                            luti2.  */
                                                         return 3499;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000000xx0xx10xxxxx10xxxxxxxxxx
                                                    mova.  */
                                                 return 2767;
                                               }
                                             else
                                               {
                                                 if (((word >> 9) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx0xx11xxxxx100xxxxxxxxx
                                                        mova.  */
                                                     return 2763;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx0xx11xxxxx101xxxxxxxxx
                                                        movaz.  */
                                                     return 3503;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000000xx0xx10xxxxx01xxxxxxxxxx
                                                    mova.  */
                                                 return 2770;
                                               }
                                             else
                                               {
                                                 if (((word >> 9) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx0xx11xxxxx010xxxxxxxxx
                                                        mova.  */
                                                     return 2766;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000000xx11xxxxx011xxxxxxxxx
                                                                movaz.  */
                                                             return 3491;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000100xx11xxxxx011xxxxxxxxx
                                                                movaz.  */
                                                             return 3493;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000010xx11xxxxx011xxxxxxxxx
                                                                movaz.  */
                                                             return 3492;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000000110xx11xxxxx011xxxxxxxxx
                                                                movaz.  */
                                                             return 3494;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000000xx0xx10xxxxx11xxxxxxxxxx
                                                    mova.  */
                                                 return 2768;
                                               }
                                             else
                                               {
                                                 if (((word >> 9) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx0xx11xxxxx110xxxxxxxxx
                                                        mova.  */
                                                     return 2764;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000000xx0xx11xxxxx111xxxxxxxxx
                                                        movaz.  */
                                                     return 3504;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 22) & 0x1) == 0)
                               {
                                 if (((word >> 23) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 0) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx000xxxxxxxxxxxx0
                                                            ld1b.  */
                                                         return 2688;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx100xxxxxxxxxxxx0
                                                            ld1b.  */
                                                         return 2689;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx010xxxxxxxxxxxx0
                                                            ld1w.  */
                                                         return 2712;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx110xxxxxxxxxxxx0
                                                            ld1w.  */
                                                         return 2713;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx001xxxxxxxxxxxx0
                                                            ld1h.  */
                                                         return 2704;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx101xxxxxxxxxxxx0
                                                            ld1h.  */
                                                         return 2705;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx011xxxxxxxxxxxx0
                                                            ld1d.  */
                                                         return 2696;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx111xxxxxxxxxxxx0
                                                            ld1d.  */
                                                         return 2697;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx000xxxxxxxxxxxx1
                                                            ldnt1b.  */
                                                         return 2720;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx100xxxxxxxxxxxx1
                                                            ldnt1b.  */
                                                         return 2721;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx010xxxxxxxxxxxx1
                                                            ldnt1w.  */
                                                         return 2744;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx110xxxxxxxxxxxx1
                                                            ldnt1w.  */
                                                         return 2745;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx001xxxxxxxxxxxx1
                                                            ldnt1h.  */
                                                         return 2736;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx101xxxxxxxxxxxx1
                                                            ldnt1h.  */
                                                         return 2737;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx011xxxxxxxxxxxx1
                                                            ldnt1d.  */
                                                         return 2728;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000000xxxxx111xxxxxxxxxxxx1
                                                            ldnt1d.  */
                                                         return 2729;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1100000000xxxxxxxxxxxxxxxxxxxxx
                                            ld1b.  */
                                         return 2534;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 3) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0100000100xxxxxxxxxxxxxxxx00xxx
                                                    smopa.  */
                                                 return 2513;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0100000100xxxxxxxxxxxxxxxx01xxx
                                                    smopa.  */
                                                 return 2834;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1100000100xxxxxxxxxxxxxxxx0xxxx
                                                ld1w.  */
                                             return 2536;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx100000100xxxxxxxxxxxxxxxx10xxx
                                                smops.  */
                                             return 2515;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx100000100xxxxxxxxxxxxxxxx11xxx
                                                smops.  */
                                             return 2835;
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 23) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 0) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx000xxxxxxxxxxxx0
                                                            ld1b.  */
                                                         return 2684;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx100xxxxxxxxxxxx0
                                                            ld1b.  */
                                                         return 2685;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx010xxxxxxxxxxxx0
                                                            ld1w.  */
                                                         return 2708;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx110xxxxxxxxxxxx0
                                                            ld1w.  */
                                                         return 2709;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx001xxxxxxxxxxxx0
                                                            ld1h.  */
                                                         return 2700;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx101xxxxxxxxxxxx0
                                                            ld1h.  */
                                                         return 2701;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx011xxxxxxxxxxxx0
                                                            ld1d.  */
                                                         return 2692;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx111xxxxxxxxxxxx0
                                                            ld1d.  */
                                                         return 2693;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx000xxxxxxxxxxxx1
                                                            ldnt1b.  */
                                                         return 2716;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx100xxxxxxxxxxxx1
                                                            ldnt1b.  */
                                                         return 2717;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx010xxxxxxxxxxxx1
                                                            ldnt1w.  */
                                                         return 2740;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx110xxxxxxxxxxxx1
                                                            ldnt1w.  */
                                                         return 2741;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx001xxxxxxxxxxxx1
                                                            ldnt1h.  */
                                                         return 2732;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx101xxxxxxxxxxxx1
                                                            ldnt1h.  */
                                                         return 2733;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx011xxxxxxxxxxxx1
                                                            ldnt1d.  */
                                                         return 2724;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100000010xxxxx111xxxxxxxxxxxx1
                                                            ldnt1d.  */
                                                         return 2725;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1100000010xxxxxxxxxxxxxxxxxxxxx
                                            ld1h.  */
                                         return 2535;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0100000110xxxxxxxxxxxxxxxx0xxxx
                                                smopa.  */
                                             return 2514;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1100000110xxxxxxxxxxxxxxxx0xxxx
                                                ld1d.  */
                                             return 2537;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx100000110xxxxxxxxxxxxxxxx1xxxx
                                            smops.  */
                                         return 2516;
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 22) & 0x1) == 0)
                           {
                             if (((word >> 23) & 0x1) == 0)
                               {
                                 if (((word >> 30) & 0x1) == 0)
                                   {
                                     if (((word >> 0) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx000xxxxxxxxxxxx0
                                                        st1b.  */
                                                     return 2860;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx100xxxxxxxxxxxx0
                                                        st1b.  */
                                                     return 2861;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx010xxxxxxxxxxxx0
                                                        st1w.  */
                                                     return 2884;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx110xxxxxxxxxxxx0
                                                        st1w.  */
                                                     return 2885;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx001xxxxxxxxxxxx0
                                                        st1h.  */
                                                     return 2876;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx101xxxxxxxxxxxx0
                                                        st1h.  */
                                                     return 2877;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx011xxxxxxxxxxxx0
                                                        st1d.  */
                                                     return 2868;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx111xxxxxxxxxxxx0
                                                        st1d.  */
                                                     return 2869;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx000xxxxxxxxxxxx1
                                                        stnt1b.  */
                                                     return 2892;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx100xxxxxxxxxxxx1
                                                        stnt1b.  */
                                                     return 2893;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx010xxxxxxxxxxxx1
                                                        stnt1w.  */
                                                     return 2916;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx110xxxxxxxxxxxx1
                                                        stnt1w.  */
                                                     return 2917;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx001xxxxxxxxxxxx1
                                                        stnt1h.  */
                                                     return 2908;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx101xxxxxxxxxxxx1
                                                        stnt1h.  */
                                                     return 2909;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx011xxxxxxxxxxxx1
                                                        stnt1d.  */
                                                     return 2900;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000001xxxxx111xxxxxxxxxxxx1
                                                        stnt1d.  */
                                                     return 2901;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x1x00000001xxxxxxxxxxxxxxxxxxxxx
                                        st1b.  */
                                     return 2539;
                                   }
                               }
                             else
                               {
                                 if (((word >> 4) & 0x1) == 0)
                                   {
                                     if (((word >> 29) & 0x1) == 0)
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx000000101xxxxxxxxxxxxxxxx00xxx
                                                fmopa.  */
                                             return 3713;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx000000101xxxxxxxxxxxxxxxx01xxx
                                                fmopa.  */
                                             return 3712;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0100000101xxxxxxxxxxxxxxxx0xxxx
                                                sumopa.  */
                                             return 2517;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1100000101xxxxxxxxxxxxxxxx0xxxx
                                                st1w.  */
                                             return 2541;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xxx00000101xxxxxxxxxxxxxxxx1xxxx
                                        sumops.  */
                                     return 2519;
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 23) & 0x1) == 0)
                               {
                                 if (((word >> 30) & 0x1) == 0)
                                   {
                                     if (((word >> 0) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx000xxxxxxxxxxxx0
                                                        st1b.  */
                                                     return 2856;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx100xxxxxxxxxxxx0
                                                        st1b.  */
                                                     return 2857;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx010xxxxxxxxxxxx0
                                                        st1w.  */
                                                     return 2880;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx110xxxxxxxxxxxx0
                                                        st1w.  */
                                                     return 2881;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx001xxxxxxxxxxxx0
                                                        st1h.  */
                                                     return 2872;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx101xxxxxxxxxxxx0
                                                        st1h.  */
                                                     return 2873;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx011xxxxxxxxxxxx0
                                                        st1d.  */
                                                     return 2864;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx111xxxxxxxxxxxx0
                                                        st1d.  */
                                                     return 2865;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx000xxxxxxxxxxxx1
                                                        stnt1b.  */
                                                     return 2888;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx100xxxxxxxxxxxx1
                                                        stnt1b.  */
                                                     return 2889;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx010xxxxxxxxxxxx1
                                                        stnt1w.  */
                                                     return 2912;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx110xxxxxxxxxxxx1
                                                        stnt1w.  */
                                                     return 2913;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx001xxxxxxxxxxxx1
                                                        stnt1h.  */
                                                     return 2904;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx101xxxxxxxxxxxx1
                                                        stnt1h.  */
                                                     return 2905;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx011xxxxxxxxxxxx1
                                                        stnt1d.  */
                                                     return 2896;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x00000011xxxxx111xxxxxxxxxxxx1
                                                        stnt1d.  */
                                                     return 2897;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x1x00000011xxxxxxxxxxxxxxxxxxxxx
                                        st1h.  */
                                     return 2540;
                                   }
                               }
                             else
                               {
                                 if (((word >> 4) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0x00000111xxxxxxxxxxxxxxxx0xxxx
                                            sumopa.  */
                                         return 2518;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1x00000111xxxxxxxxxxxxxxxx0xxxx
                                            st1d.  */
                                         return 2542;
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xxx00000111xxxxxxxxxxxxxxxx1xxxx
                                        sumops.  */
                                     return 2520;
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 31) & 0x1) == 0)
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            0xx10000xxxxxxxxxxxxxxxxxxxxxxxx
                            adr.  */
                         return 1319;
                       }
                     else
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            1xx10000xxxxxxxxxxxxxxxxxxxxxxxx
                            adrp.  */
                         return 1320;
                       }
                   }
               }
             else
               {
                 if (((word >> 28) & 0x1) == 0)
                   {
                     if (((word >> 21) & 0x1) == 0)
                       {
                         if (((word >> 22) & 0x1) == 0)
                           {
                             if (((word >> 23) & 0x1) == 0)
                               {
                                 if (((word >> 29) & 0x1) == 0)
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         if (((word >> 20) & 0x1) == 0)
                                           {
                                             if (((word >> 2) & 0x1) == 0)
                                               {
                                                 if (((word >> 3) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000010000xxxxxxxxxxxxxxx000xx
                                                        smlall.  */
                                                     return 2810;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000010000xxxxxxxxxxxxxxx010xx
                                                        smlsll.  */
                                                     return 2826;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0000010000xxxxxxxxxxxxxxx0x1xx
                                                    usmlall.  */
                                                 return 3015;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 5) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 3) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx0xx0xxxxxx000xxx
                                                                smlall.  */
                                                             return 2811;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 6) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0000010001xxxx1xx0xxxxx0000xxx
                                                                    smlall.  */
                                                                 return 2812;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0000010001xxxx1xx0xxxxx1000xxx
                                                                    fmlall.  */
                                                                 return 3706;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx0xx0xxxxxx001xxx
                                                                smlsll.  */
                                                             return 2827;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx1xx0xxxxxx001xxx
                                                                smlsll.  */
                                                             return 2828;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx0xx1xxxxxx00xxxx
                                                            fmla.  */
                                                         return 3520;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 6) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx1xx1xxxxx000xxxx
                                                                fmla.  */
                                                             return 3521;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx1xx1xxxxx100xxxx
                                                                fdot.  */
                                                             return 3691;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx0xx0xxxxxx10xxxx
                                                            usmlall.  */
                                                         return 3016;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx1xx0xxxxxx10xxxx
                                                            usmlall.  */
                                                         return 3017;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx0xx1xxxxxx10xxxx
                                                            bfmla.  */
                                                         return 3477;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx1xx1xxxxxx10xxxx
                                                            bfmla.  */
                                                         return 3478;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 20) & 0x1) == 0)
                                           {
                                             if (((word >> 2) & 0x1) == 0)
                                               {
                                                 if (((word >> 3) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000010000xxxxxxxxxxxxxxx100xx
                                                        umlall.  */
                                                     return 2973;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000010000xxxxxxxxxxxxxxx110xx
                                                        umlsll.  */
                                                     return 2989;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0000010000xxxxxxxxxxxxxxx1x1xx
                                                    sumlall.  */
                                                 return 2931;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 5) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 3) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx0xx0xxxxxx010xxx
                                                                umlall.  */
                                                             return 2974;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx1xx0xxxxxx010xxx
                                                                umlall.  */
                                                             return 2975;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx0xx0xxxxxx011xxx
                                                                umlsll.  */
                                                             return 2990;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000010001xxxx1xx0xxxxxx011xxx
                                                                umlsll.  */
                                                             return 2991;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx0xx1xxxxxx01xxxx
                                                            fmls.  */
                                                         return 3526;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx1xx1xxxxxx01xxxx
                                                            fmls.  */
                                                         return 3527;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx0xx0xxxxxx11xxxx
                                                            sumlall.  */
                                                         return 2932;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx1xx0xxxxxx11xxxx
                                                            sumlall.  */
                                                         return 2933;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx0xx1xxxxxx11xxxx
                                                            bfmls.  */
                                                         return 3483;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000010001xxxx1xx1xxxxxx11xxxx
                                                            bfmls.  */
                                                         return 3484;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 3) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx000xxxxxxxxx0xxx
                                                            ld1b.  */
                                                         return 2690;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx010xxxxxxxxx0xxx
                                                            ld1w.  */
                                                         return 2714;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx001xxxxxxxxx0xxx
                                                            ld1h.  */
                                                         return 2706;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx011xxxxxxxxx0xxx
                                                            ld1d.  */
                                                         return 2698;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx000xxxxxxxxx1xxx
                                                            ldnt1b.  */
                                                         return 2722;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx010xxxxxxxxx1xxx
                                                            ldnt1w.  */
                                                         return 2746;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx001xxxxxxxxx1xxx
                                                            ldnt1h.  */
                                                         return 2738;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx011xxxxxxxxx1xxx
                                                            ldnt1d.  */
                                                         return 2730;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1100001000xxxxx0xxxxxxxxxxxxxxx
                                                ldr.  */
                                             return 2544;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001000xxxxx100xxxxxxxxx0xxx
                                                            ld1b.  */
                                                         return 2691;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1100001000xxxxx100xxxxxxxxx0xxx
                                                            ldr.  */
                                                         return 2748;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001000xxxxx110xxxxxxxxx0xxx
                                                        ld1w.  */
                                                     return 2715;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001000xxxxx101xxxxxxxxx0xxx
                                                        ld1h.  */
                                                     return 2707;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001000xxxxx111xxxxxxxxx0xxx
                                                        ld1d.  */
                                                     return 2699;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001000xxxxx100xxxxxxxxx1xxx
                                                        ldnt1b.  */
                                                     return 2723;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001000xxxxx110xxxxxxxxx1xxx
                                                        ldnt1w.  */
                                                     return 2747;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001000xxxxx101xxxxxxxxx1xxx
                                                        ldnt1h.  */
                                                     return 2739;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001000xxxxx111xxxxxxxxx1xxx
                                                        ldnt1d.  */
                                                     return 2731;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 4) & 0x1) == 0)
                                   {
                                     if (((word >> 29) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 3) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000001100xxxxxxxxxxxxxxxx00xxx
                                                    bfmopa.  */
                                                 return 2504;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000001100xxxxxxxxxxxxxxxx01xxx
                                                    fmopa.  */
                                                 return 3518;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 3) & 0x1) == 0)
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx0xxxxxxx00xxx
                                                            smlall.  */
                                                         return 3047;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 5) & 0x1) == 0)
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx0xx0xxxxxx000xxx
                                                                    smlall.  */
                                                                 return 3048;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx1xx0xxxxxx000xxx
                                                                    smlall.  */
                                                                 return 3049;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10000011001xxxxxxx0xxxxxx100xxx
                                                                fmlall.  */
                                                             return 3705;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx0xxxxxxx01xxx
                                                            smlsll.  */
                                                         return 3050;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10000011001xxxx0xx0xxxxxxx01xxx
                                                                smlsll.  */
                                                             return 3051;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10000011001xxxx1xx0xxxxxxx01xxx
                                                                smlsll.  */
                                                             return 3052;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 20) & 0x1) == 0)
                                                   {
                                                     if (((word >> 3) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx1xxxxxxx00xxx
                                                            fmlal.  */
                                                         return 2651;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx1xxxxxxx01xxx
                                                            fmlsl.  */
                                                         return 2665;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 5) & 0x1) == 0)
                                                       {
                                                         if (((word >> 3) & 0x1) == 0)
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx0xx1xxxxxx000xxx
                                                                    fmlal.  */
                                                                 return 2652;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx1xx1xxxxxx000xxx
                                                                    fmlal.  */
                                                                 return 2653;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx0xx1xxxxxx001xxx
                                                                    fmlsl.  */
                                                                 return 2666;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx1xx1xxxxxx001xxx
                                                                    fmlsl.  */
                                                                 return 2667;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011001xxxxxxx1xxxxxx10xxxx
                                                            fmlal.  */
                                                         return 3698;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx100001100xxxxxxxxxxxxxxxx00xxx
                                                usmopa.  */
                                             return 2525;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx100001100xxxxxxxxxxxxxxxx01xxx
                                                umopa.  */
                                             return 2997;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 29) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 3) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000001100xxxxxxxxxxxxxxxx10xxx
                                                    bfmops.  */
                                                 return 2505;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0000001100xxxxxxxxxxxxxxxx11xxx
                                                    fmops.  */
                                                 return 3519;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 3) & 0x1) == 0)
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx0xxxxxxx10xxx
                                                            umlall.  */
                                                         return 3056;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10000011001xxxx0xx0xxxxxxx10xxx
                                                                umlall.  */
                                                             return 3057;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10000011001xxxx1xx0xxxxxxx10xxx
                                                                umlall.  */
                                                             return 3058;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx0xxxxxxx11xxx
                                                            umlsll.  */
                                                         return 3059;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10000011001xxxx0xx0xxxxxxx11xxx
                                                                umlsll.  */
                                                             return 3060;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10000011001xxxx1xx0xxxxxxx11xxx
                                                                umlsll.  */
                                                             return 3061;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 20) & 0x1) == 0)
                                                   {
                                                     if (((word >> 3) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx1xxxxxxx10xxx
                                                            bfmlal.  */
                                                         return 2593;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011000xxxxxxx1xxxxxxx11xxx
                                                            bfmlsl.  */
                                                         return 2601;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 5) & 0x1) == 0)
                                                       {
                                                         if (((word >> 3) & 0x1) == 0)
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx0xx1xxxxxx010xxx
                                                                    bfmlal.  */
                                                                 return 2594;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx1xx1xxxxxx010xxx
                                                                    bfmlal.  */
                                                                 return 2595;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx0xx1xxxxxx011xxx
                                                                    bfmlsl.  */
                                                                 return 2602;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011001xxxx1xx1xxxxxx011xxx
                                                                    bfmlsl.  */
                                                                 return 2603;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10000011001xxxxxxx1xxxxxx11xxxx
                                                            fmlal.  */
                                                         return 3697;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx100001100xxxxxxxxxxxxxxxx10xxx
                                                usmops.  */
                                             return 2527;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx100001100xxxxxxxxxxxxxxxx11xxx
                                                umops.  */
                                             return 2998;
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 23) & 0x1) == 0)
                               {
                                 if (((word >> 3) & 0x1) == 0)
                                   {
                                     if (((word >> 20) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx0000010100xxxxxxxxxxxxxxxx0xxx
                                                fmlall.  */
                                             return 3704;
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx000xxxxxxxxx0xxx
                                                            ld1b.  */
                                                         return 2686;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx100xxxxxxxxx0xxx
                                                            ld1b.  */
                                                         return 2687;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx010xxxxxxxxx0xxx
                                                            ld1w.  */
                                                         return 2710;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx110xxxxxxxxx0xxx
                                                            ld1w.  */
                                                         return 2711;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx001xxxxxxxxx0xxx
                                                            ld1h.  */
                                                         return 2702;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx101xxxxxxxxx0xxx
                                                            ld1h.  */
                                                         return 2703;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx011xxxxxxxxx0xxx
                                                            ld1d.  */
                                                         return 2694;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1000010100xxxx111xxxxxxxxx0xxx
                                                            ld1d.  */
                                                         return 2695;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 4) & 0x1) == 0)
                                           {
                                             if (((word >> 5) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx0xxxxxx000xxx
                                                            fmla.  */
                                                         return 2645;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx0xxxxxx000xxx
                                                            fmla.  */
                                                         return 2646;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx1xxxxxx000xxx
                                                            sdot.  */
                                                         return 2780;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx1xxxxxx000xxx
                                                            sdot.  */
                                                         return 2781;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx0xxxxxx100xxx
                                                            svdot.  */
                                                         return 2939;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx0xxxxxx100xxx
                                                            svdot.  */
                                                         return 2940;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx1xxxxxx100xxx
                                                            sdot.  */
                                                         return 2786;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx1xxxxxx100xxx
                                                            sdot.  */
                                                         return 2787;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 5) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx0xxxxxx010xxx
                                                            fmls.  */
                                                         return 2659;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx0xxxxxx010xxx
                                                            fmls.  */
                                                         return 2660;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx1xxxxxx010xxx
                                                            udot.  */
                                                         return 2945;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx1xxxxxx010xxx
                                                            udot.  */
                                                         return 2946;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx0xxxxxx110xxx
                                                            uvdot.  */
                                                         return 3026;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx0xxxxxx110xxx
                                                            uvdot.  */
                                                         return 3027;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx1xxxxxx110xxx
                                                            udot.  */
                                                         return 2951;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx1xxxxxx110xxx
                                                            udot.  */
                                                         return 2952;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 20) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx000xxxxxxxxx1xxx
                                                        ldnt1b.  */
                                                     return 2718;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx010xxxxxxxxx1xxx
                                                        ldnt1w.  */
                                                     return 2742;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx001xxxxxxxxx1xxx
                                                        ldnt1h.  */
                                                     return 2734;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx011xxxxxxxxx1xxx
                                                        ldnt1d.  */
                                                     return 2726;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 if (((word >> 5) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx0xxxxxx001xxx
                                                            fvdot.  */
                                                         return 2683;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx1xxxxxx001xxx
                                                            fdot.  */
                                                         return 2623;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010101xxxx0xxxxxxxxx101xxx
                                                        usdot.  */
                                                     return 3009;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 5) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx0xxxxxx011xxx
                                                            bfvdot.  */
                                                         return 2609;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx1xxxxxx011xxx
                                                            bfdot.  */
                                                         return 2587;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx0xxxxxx111xxx
                                                            fdot.  */
                                                         return 3684;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx0xx1xxxxxx111xxx
                                                            sudot.  */
                                                         return 2927;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 20) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx100xxxxxxxxx1xxx
                                                        ldnt1b.  */
                                                     return 2719;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx110xxxxxxxxx1xxx
                                                        ldnt1w.  */
                                                     return 2743;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx101xxxxxxxxx1xxx
                                                        ldnt1h.  */
                                                     return 2735;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010100xxxx111xxxxxxxxx1xxx
                                                        ldnt1d.  */
                                                     return 2727;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 if (((word >> 5) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx0xxxxxx001xxx
                                                            fdot.  */
                                                         return 3685;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx1xxxxxx001xxx
                                                            fdot.  */
                                                         return 2624;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx0xxxxxx101xxx
                                                            usvdot.  */
                                                         return 3023;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx1xxxxxx101xxx
                                                            usdot.  */
                                                         return 3010;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 5) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx000010101xxxx1xxxxxxxxx011xxx
                                                        bfdot.  */
                                                     return 2588;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx0xxxxxx111xxx
                                                            suvdot.  */
                                                         return 2938;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx000010101xxxx1xx1xxxxxx111xxx
                                                            sudot.  */
                                                         return 2928;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 4) & 0x1) == 0)
                                   {
                                     if (((word >> 29) & 0x1) == 0)
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0000011100xxxxxxx0xxxxxxx0xxxx
                                                    fmlal.  */
                                                 return 3696;
                                               }
                                             else
                                               {
                                                 if (((word >> 5) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 3) & 0x1) == 0)
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0000011101xxxx0xx00xxxxx000xxx
                                                                    fmla.  */
                                                                 return 3063;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0000011101xxxx1xx00xxxxx000xxx
                                                                    fmla.  */
                                                                 return 3064;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 15) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0000011101xxxx0xx00xxxxx001xxx
                                                                    sdot.  */
                                                                 return 3045;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0000011101xxxx1xx00xxxxx001xxx
                                                                    sdot.  */
                                                                 return 3046;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000011101xxxx0xx01xxxxx00xxxx
                                                                fvdotb.  */
                                                             return 3715;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000011101xxxx1xx01xxxxx00xxxx
                                                                svdot.  */
                                                             return 3053;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000011101xxxxxxx0xxxxxx10xxxx
                                                        fdot.  */
                                                     return 3690;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 3) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000011100xxxxxxx1xxxxxxx00xxx
                                                        smlal.  */
                                                     return 2802;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000011100xxxxxxx1xxxxxxx01xxx
                                                        smlsl.  */
                                                     return 2818;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 5) & 0x1) == 0)
                                                   {
                                                     if (((word >> 3) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000011101xxxx0xx1xxxxxx000xxx
                                                                smlal.  */
                                                             return 2803;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000011101xxxx1xx1xxxxxx000xxx
                                                                smlal.  */
                                                             return 2804;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000011101xxxx0xx1xxxxxx001xxx
                                                                smlsl.  */
                                                             return 2819;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0000011101xxxx1xx1xxxxxx001xxx
                                                                smlsl.  */
                                                             return 2820;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000011101xxxxxxx1xxxxxx10xxxx
                                                        fvdot.  */
                                                     return 3714;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0100001110xxxxxxxxxxxxxxxx0xxxx
                                                usmopa.  */
                                             return 2526;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1100001110xxxxxxxxxxxxxxxx0xxxx
                                                ld1q.  */
                                             return 2538;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 29) & 0x1) == 0)
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 3) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx000001110xxxxx0xx00xxxxxx10xxx
                                                            fmls.  */
                                                         return 3065;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx000001110xxxxx1xx00xxxxxx10xxx
                                                            fmls.  */
                                                         return 3066;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx000001110xxxxx0xx00xxxxxx11xxx
                                                            udot.  */
                                                         return 3054;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx000001110xxxxx1xx00xxxxxx11xxx
                                                            udot.  */
                                                         return 3055;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx000001110xxxxx0xx01xxxxxx1xxxx
                                                        fvdott.  */
                                                     return 3716;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx000001110xxxxx1xx01xxxxxx1xxxx
                                                        uvdot.  */
                                                     return 3062;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 3) & 0x1) == 0)
                                               {
                                                 if (((word >> 20) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000011100xxxxxxx1xxxxxxx10xxx
                                                        umlal.  */
                                                     return 2965;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000011101xxxx0xx1xxxxxxx10xxx
                                                            umlal.  */
                                                         return 2966;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000011101xxxx1xx1xxxxxxx10xxx
                                                            umlal.  */
                                                         return 2967;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 20) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0000011100xxxxxxx1xxxxxxx11xxx
                                                        umlsl.  */
                                                     return 2981;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000011101xxxx0xx1xxxxxxx11xxx
                                                            umlsl.  */
                                                         return 2982;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0000011101xxxx1xx1xxxxxxx11xxx
                                                            umlsl.  */
                                                         return 2983;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx100001110xxxxxxxxxxxxxxxx1xxxx
                                            usmops.  */
                                         return 2528;
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 3) & 0x1) == 0)
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0000001xx1xxxxxxxxxxxxxxxx00xxx
                                            fmopa.  */
                                         return 2508;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0000001xx1xxxxxxxxxxxxxxxx10xxx
                                            fmops.  */
                                         return 2511;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0000001xx1xxxxxxxxxxxxxxxx01xxx
                                            bfmopa.  */
                                         return 3489;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0000001xx1xxxxxxxxxxxxxxxx11xxx
                                            bfmops.  */
                                         return 3490;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 3) & 0x1) == 0)
                                       {
                                         if (((word >> 4) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 1) & 0x1) == 0)
                                                           {
                                                             if (((word >> 2) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 20) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010x10xxxx0xx000xxxxx0000x
                                                                            smlall.  */
                                                                         return 2814;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010x11xxxx0xx000xxxxx0000x
                                                                            smlall.  */
                                                                         return 2815;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 5) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 16) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011x1xxxx00xx000xxxx00000x
                                                                                smlall.  */
                                                                             return 2816;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011x1xxxx10xx000xxxx00000x
                                                                                smlall.  */
                                                                             return 2817;
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 16) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011x1xxxx00xx000xxxx10000x
                                                                                fmlall.  */
                                                                             return 3710;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011x1xxxx10xx000xxxx10000x
                                                                                fmlall.  */
                                                                             return 3711;
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 20) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010x10xxxx0xx000xxxxx0010x
                                                                            usmlall.  */
                                                                         return 3019;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010x11xxxx0xx000xxxxx0010x
                                                                            usmlall.  */
                                                                         return 3020;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 16) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000011x1xxxx00xx000xxxxx0010x
                                                                            usmlall.  */
                                                                         return 3021;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000011x1xxxx10xx000xxxxx0010x
                                                                            usmlall.  */
                                                                         return 3022;
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx10xxxx0xx000xxxxx00x1x
                                                                    fmlall.  */
                                                                 return 3708;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx11xxxx0xx000xxxxx00x1x
                                                                    fmlall.  */
                                                                 return 3709;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx100xxxxx00xxx
                                                                    fdot.  */
                                                                 return 2625;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx100xxxxx00xxx
                                                                    fdot.  */
                                                                 return 2626;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 5) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx00xx100xxxx000xxx
                                                                        fdot.  */
                                                                     return 2627;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx10xx100xxxx000xxx
                                                                        fdot.  */
                                                                     return 2628;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx00xx100xxxx100xxx
                                                                        fdot.  */
                                                                     return 3694;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx10xx100xxxx100xxx
                                                                        fdot.  */
                                                                     return 3695;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 2) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 20) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010010xxxx0xx010xxxxx000xx
                                                                            fmlal.  */
                                                                         return 2655;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010011xxxx0xx010xxxxx000xx
                                                                            fmlal.  */
                                                                         return 2656;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 5) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 16) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001101xxxx00xx010xxxx0000xx
                                                                                fmlal.  */
                                                                             return 2657;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001101xxxx10xx010xxxx0000xx
                                                                                fmlal.  */
                                                                             return 2658;
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 16) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001101xxxx00xx010xxxx1000xx
                                                                                fmlal.  */
                                                                             return 3702;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001101xxxx10xx010xxxx1000xx
                                                                                fmlal.  */
                                                                             return 3703;
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 20) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010110xxxx0xx010xxxxx000xx
                                                                            smlal.  */
                                                                         return 2806;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000010111xxxx0xx010xxxxx000xx
                                                                            smlal.  */
                                                                         return 2807;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 16) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001111xxxx00xx010xxxxx000xx
                                                                            smlal.  */
                                                                         return 2808;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001111xxxx10xx010xxxxx000xx
                                                                            smlal.  */
                                                                         return 2809;
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx10xxxx0xx010xxxxx001xx
                                                                    fmlal.  */
                                                                 return 3700;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx11xxxx0xx010xxxxx001xx
                                                                    fmlal.  */
                                                                 return 3701;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx110xxxxx00xxx
                                                                    fmla.  */
                                                                 return 2647;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx110xxxxx00xxx
                                                                    fmla.  */
                                                                 return 2648;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx110xxxxx00xxx
                                                                    fmla.  */
                                                                 return 2649;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx110xxxxx00xxx
                                                                    fmla.  */
                                                                 return 2650;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 2) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx10xxxx0xx001xxxxx000xx
                                                                    smlall.  */
                                                                 return 2813;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx11xxxx0xx001xxxxx000xx
                                                                    fmlall.  */
                                                                 return 3707;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx0xx001xxxxx001xx
                                                                usmlall.  */
                                                             return 3018;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx101xxxxx00xxx
                                                                    sdot.  */
                                                                 return 2788;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx101xxxxx00xxx
                                                                    sdot.  */
                                                                 return 2789;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx101xxxxx00xxx
                                                                    sdot.  */
                                                                 return 2790;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx101xxxxx00xxx
                                                                    sdot.  */
                                                                 return 2791;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x010xxxx0xx011xxxxx00xxx
                                                                    fmlal.  */
                                                                 return 2654;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x110xxxx0xx011xxxxx00xxx
                                                                    smlal.  */
                                                                 return 2805;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx11xxxx0xx011xxxxx00xxx
                                                                fmlal.  */
                                                             return 3699;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx111xxxxx00xxx
                                                                        fmla.  */
                                                                     return 3522;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010110xxxx0xx111xxxxx00xxx
                                                                        bfmla.  */
                                                                     return 3479;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000011x10x0x00xx111xxxxx00xxx
                                                                            fadd.  */
                                                                         return 2613;
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 22) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011010x1x00xx111xxxxx00xxx
                                                                                fadd.  */
                                                                             return 3648;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011110x1x00xx111xxxxx00xxx
                                                                                bfadd.  */
                                                                             return 3473;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000011x10x0x10xx111xxxxx00xxx
                                                                            fadd.  */
                                                                         return 2614;
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 22) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011010x1x10xx111xxxxx00xxx
                                                                                fadd.  */
                                                                             return 3649;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011110x1x10xx111xxxxx00xxx
                                                                                bfadd.  */
                                                                             return 3474;
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x011xxxx0xx111xxxxx00xxx
                                                                    fmla.  */
                                                                 return 3523;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x111xxxx0xx111xxxxx00xxx
                                                                    bfmla.  */
                                                                 return 3480;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 2) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010x10xxxx0xx000xxxxx100xx
                                                                        umlall.  */
                                                                     return 2977;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010x11xxxx0xx000xxxxx100xx
                                                                        umlall.  */
                                                                     return 2978;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx00xx000xxxxx100xx
                                                                        umlall.  */
                                                                     return 2979;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx10xx000xxxxx100xx
                                                                        umlall.  */
                                                                     return 2980;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx10xxxx0xx000xxxxx101xx
                                                                    sumlall.  */
                                                                 return 2934;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx11xxxx0xx000xxxxx101xx
                                                                    sumlall.  */
                                                                 return 2935;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx100xxxxx10xxx
                                                                    bfdot.  */
                                                                 return 2589;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx100xxxxx10xxx
                                                                    bfdot.  */
                                                                 return 2590;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 5) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx00xx100xxxx010xxx
                                                                        bfdot.  */
                                                                     return 2591;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx10xx100xxxx010xxx
                                                                        bfdot.  */
                                                                     return 2592;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx00xx100xxxx110xxx
                                                                        fdot.  */
                                                                     return 3688;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000011x1xxxx10xx100xxxx110xxx
                                                                        fdot.  */
                                                                     return 3689;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx010xxxxx10xxx
                                                                        bfmlal.  */
                                                                     return 2597;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010011xxxx0xx010xxxxx10xxx
                                                                        bfmlal.  */
                                                                     return 2598;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx00xx010xxxxx10xxx
                                                                        bfmlal.  */
                                                                     return 2599;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx10xx010xxxxx10xxx
                                                                        bfmlal.  */
                                                                     return 2600;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010110xxxx0xx010xxxxx10xxx
                                                                        umlal.  */
                                                                     return 2969;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010111xxxx0xx010xxxxx10xxx
                                                                        umlal.  */
                                                                     return 2970;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx00xx010xxxxx10xxx
                                                                        umlal.  */
                                                                     return 2971;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx10xx010xxxxx10xxx
                                                                        umlal.  */
                                                                     return 2972;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx110xxxxx10xxx
                                                                    add.  */
                                                                 return 2579;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx110xxxxx10xxx
                                                                    add.  */
                                                                 return 2580;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx110xxxxx10xxx
                                                                    add.  */
                                                                 return 2581;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx110xxxxx10xxx
                                                                    add.  */
                                                                 return 2582;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000001xx1xxxxx0xx001xxxxx10xxx
                                                            umlall.  */
                                                         return 2976;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx101xxxxx10xxx
                                                                    udot.  */
                                                                 return 2953;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx101xxxxx10xxx
                                                                    udot.  */
                                                                 return 2954;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx101xxxxx10xxx
                                                                    udot.  */
                                                                 return 2955;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx101xxxxx10xxx
                                                                    udot.  */
                                                                 return 2956;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001x01xxxxx0xx011xxxxx10xxx
                                                                bfmlal.  */
                                                             return 2596;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001x11xxxxx0xx011xxxxx10xxx
                                                                umlal.  */
                                                             return 2968;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxx00xx111xxxxx10xxx
                                                                add.  */
                                                             return 2577;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxx10xx111xxxxx10xxx
                                                                add.  */
                                                             return 2578;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 4) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx000xxxxx01xxx
                                                                    smlsll.  */
                                                                 return 2830;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx000xxxxx01xxx
                                                                    smlsll.  */
                                                                 return 2831;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx000xxxxx01xxx
                                                                    smlsll.  */
                                                                 return 2832;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx000xxxxx01xxx
                                                                    smlsll.  */
                                                                 return 2833;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx100xxxxx01xxx
                                                                        fdot.  */
                                                                     return 3692;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010011xxxx0xx100xxxxx01xxx
                                                                        fdot.  */
                                                                     return 3693;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx00xx100xxxxx01xxx
                                                                        fmla.  */
                                                                     return 3524;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx10xx100xxxxx01xxx
                                                                        fmla.  */
                                                                     return 3525;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x11xxxx00xx100xxxxx01xxx
                                                                    bfmla.  */
                                                                 return 3481;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x11xxxx10xx100xxxxx01xxx
                                                                    bfmla.  */
                                                                 return 3482;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx010xxxxx01xxx
                                                                        fmlsl.  */
                                                                     return 2669;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010011xxxx0xx010xxxxx01xxx
                                                                        fmlsl.  */
                                                                     return 2670;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx00xx010xxxxx01xxx
                                                                        fmlsl.  */
                                                                     return 2671;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx10xx010xxxxx01xxx
                                                                        fmlsl.  */
                                                                     return 2672;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010110xxxx0xx010xxxxx01xxx
                                                                        smlsl.  */
                                                                     return 2822;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010111xxxx0xx010xxxxx01xxx
                                                                        smlsl.  */
                                                                     return 2823;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx00xx010xxxxx01xxx
                                                                        smlsl.  */
                                                                     return 2824;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx10xx010xxxxx01xxx
                                                                        smlsl.  */
                                                                     return 2825;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx110xxxxx01xxx
                                                                    fmls.  */
                                                                 return 2661;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx110xxxxx01xxx
                                                                    fmls.  */
                                                                 return 2662;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx110xxxxx01xxx
                                                                    fmls.  */
                                                                 return 2663;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx110xxxxx01xxx
                                                                    fmls.  */
                                                                 return 2664;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000001xx1xxxxx0xx001xxxxx01xxx
                                                            smlsll.  */
                                                         return 2829;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx101xxxxx01xxx
                                                                        usdot.  */
                                                                     return 3011;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010011xxxx0xx101xxxxx01xxx
                                                                        usdot.  */
                                                                     return 3012;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx00xx101xxxxx01xxx
                                                                        usdot.  */
                                                                     return 3013;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx10xx101xxxxx01xxx
                                                                        usdot.  */
                                                                     return 3014;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010110xxxx0xx101xxxxx01xxx
                                                                        sdot.  */
                                                                     return 2782;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010111xxxx0xx101xxxxx01xxx
                                                                        sdot.  */
                                                                     return 2783;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx00xx101xxxxx01xxx
                                                                        sdot.  */
                                                                     return 2784;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx10xx101xxxxx01xxx
                                                                        sdot.  */
                                                                     return 2785;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001x01xxxxx0xx011xxxxx01xxx
                                                                fmlsl.  */
                                                             return 2668;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001x11xxxxx0xx011xxxxx01xxx
                                                                smlsl.  */
                                                             return 2821;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx111xxxxx01xxx
                                                                        fmls.  */
                                                                     return 3528;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010110xxxx0xx111xxxxx01xxx
                                                                        bfmls.  */
                                                                     return 3485;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000011x10x0x00xx111xxxxx01xxx
                                                                            fsub.  */
                                                                         return 2681;
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 22) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011010x1x00xx111xxxxx01xxx
                                                                                fsub.  */
                                                                             return 3650;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011110x1x00xx111xxxxx01xxx
                                                                                bfsub.  */
                                                                             return 3475;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x10000011x10x0x10xx111xxxxx01xxx
                                                                            fsub.  */
                                                                         return 2682;
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 22) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011010x1x10xx111xxxxx01xxx
                                                                                fsub.  */
                                                                             return 3651;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x10000011110x1x10xx111xxxxx01xxx
                                                                                bfsub.  */
                                                                             return 3476;
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x011xxxx0xx111xxxxx01xxx
                                                                    fmls.  */
                                                                 return 3529;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x111xxxx0xx111xxxxx01xxx
                                                                    bfmls.  */
                                                                 return 3486;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx000xxxxx11xxx
                                                                    umlsll.  */
                                                                 return 2993;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx000xxxxx11xxx
                                                                    umlsll.  */
                                                                 return 2994;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx000xxxxx11xxx
                                                                    umlsll.  */
                                                                 return 2995;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx000xxxxx11xxx
                                                                    umlsll.  */
                                                                 return 2996;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx100xxxxx11xxx
                                                                        fdot.  */
                                                                     return 3686;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010011xxxx0xx100xxxxx11xxx
                                                                        fdot.  */
                                                                     return 3687;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx00xx100xxxxx11xxx
                                                                        fmls.  */
                                                                     return 3530;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx10xx100xxxxx11xxx
                                                                        fmls.  */
                                                                     return 3531;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x11xxxx00xx100xxxxx11xxx
                                                                    bfmls.  */
                                                                 return 3487;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x11xxxx10xx100xxxxx11xxx
                                                                    bfmls.  */
                                                                 return 3488;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010010xxxx0xx010xxxxx11xxx
                                                                        bfmlsl.  */
                                                                     return 2605;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010011xxxx0xx010xxxxx11xxx
                                                                        bfmlsl.  */
                                                                     return 2606;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx00xx010xxxxx11xxx
                                                                        bfmlsl.  */
                                                                     return 2607;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001101xxxx10xx010xxxxx11xxx
                                                                        bfmlsl.  */
                                                                     return 2608;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010110xxxx0xx010xxxxx11xxx
                                                                        umlsl.  */
                                                                     return 2985;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010111xxxx0xx010xxxxx11xxx
                                                                        umlsl.  */
                                                                     return 2986;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx00xx010xxxxx11xxx
                                                                        umlsl.  */
                                                                     return 2987;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx10xx010xxxxx11xxx
                                                                        umlsl.  */
                                                                     return 2988;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x10xxxx0xx110xxxxx11xxx
                                                                    sub.  */
                                                                 return 2923;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000010x11xxxx0xx110xxxxx11xxx
                                                                    sub.  */
                                                                 return 2924;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx00xx110xxxxx11xxx
                                                                    sub.  */
                                                                 return 2925;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x10000011x1xxxx10xx110xxxxx11xxx
                                                                    sub.  */
                                                                 return 2926;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000001xx1xxxxx0xx001xxxxx11xxx
                                                            umlsll.  */
                                                         return 2992;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x010xxxx0xx101xxxxx11xxx
                                                                    sudot.  */
                                                                 return 2929;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x011xxxx0xx101xxxxx11xxx
                                                                    sudot.  */
                                                                 return 2930;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010110xxxx0xx101xxxxx11xxx
                                                                        udot.  */
                                                                     return 2947;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x10000010111xxxx0xx101xxxxx11xxx
                                                                        udot.  */
                                                                     return 2948;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx00xx101xxxxx11xxx
                                                                        udot.  */
                                                                     return 2949;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001111xxxx10xx101xxxxx11xxx
                                                                        udot.  */
                                                                     return 2950;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001x01xxxxx0xx011xxxxx11xxx
                                                                bfmlsl.  */
                                                             return 2604;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001x11xxxxx0xx011xxxxx11xxx
                                                                umlsl.  */
                                                             return 2984;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxx00xx111xxxxx11xxx
                                                                sub.  */
                                                             return 2921;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxx10xx111xxxxx11xxx
                                                                sub.  */
                                                             return 2922;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000001xx1xxxx0100xxxxxxxxxxxxx
                                                    sel.  */
                                                 return 2792;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1000001xx1xxxx1100xxxxxxxxxxxxx
                                                    sel.  */
                                                 return 2793;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 0) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110000xxxxxxxxx0
                                                                fclamp.  */
                                                             return 2615;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110100xxxxxxxxx0
                                                                zip.  */
                                                             return 3041;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000001xx1xxxxx110x00xxxxxxxxx1
                                                            uzp.  */
                                                         return 3028;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000001xx1xxxxx110010xxxxxxxxxx
                                                            fclamp.  */
                                                         return 2616;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 5) & 0x1) == 0)
                                                           {
                                                             if (((word >> 6) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx110110xxx00xxxxx
                                                                    sqrshr.  */
                                                                 return 2847;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx110110xxx10xxxxx
                                                                    sqrshru.  */
                                                                 return 2850;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110110xxxx1xxxxx
                                                                uqrshr.  */
                                                             return 3003;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 0) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110001xxxxxxxxx0
                                                                sclamp.  */
                                                             return 2776;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110001xxxxxxxxx1
                                                                uclamp.  */
                                                             return 2941;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 0) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x01xxxxx110101xxxxxxxxx0
                                                                    zip.  */
                                                                 return 3042;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x01xxxxx110101xxxxxxxxx1
                                                                    uzp.  */
                                                                 return 3029;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 5) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001x110xxxx110101xxxx0xxxxx
                                                                        sqrshr.  */
                                                                     return 2846;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001x111xxxx110101xxxx0xxxxx
                                                                        sqrshru.  */
                                                                     return 2849;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001x11xxxxx110101xxxx1xxxxx
                                                                    uqrshr.  */
                                                                 return 3002;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 0) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110011xxxxxxxxx0
                                                                sclamp.  */
                                                             return 2777;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110011xxxxxxxxx1
                                                                uclamp.  */
                                                             return 2942;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 5) & 0x1) == 0)
                                                           {
                                                             if (((word >> 6) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx110111xxx00xxxxx
                                                                    sqrshrn.  */
                                                                 return 2848;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx110111xxx10xxxxx
                                                                    sqrshrun.  */
                                                                 return 2851;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx110111xxxx1xxxxx
                                                                uqrshrn.  */
                                                             return 3004;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 10) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 0) & 0x1) == 0)
                                                           {
                                                             if (((word >> 5) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 7) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 8) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx101000x00x0xxxx0
                                                                            smax.  */
                                                                         return 2794;
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 9) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx1xxxxx101000010x0xxxx0
                                                                                fmax.  */
                                                                             return 2629;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx1xxxxx101000110x0xxxx0
                                                                                add.  */
                                                                             return 2583;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx101000xx1x0xxxx0
                                                                        bfscale.  */
                                                                     return 3068;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 8) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 9) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx10100000xx1xxxx0
                                                                            smin.  */
                                                                         return 2798;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx10100010xx1xxxx0
                                                                            srshl.  */
                                                                         return 2852;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx101000x1xx1xxxx0
                                                                        fmaxnm.  */
                                                                     return 2633;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 5) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 8) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx101000x0xx0xxxx1
                                                                        umax.  */
                                                                     return 2957;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx101000x1xx0xxxx1
                                                                        fmin.  */
                                                                     return 2637;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 8) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 9) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx10100000xx1xxxx1
                                                                            umin.  */
                                                                         return 2961;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx10100010xx1xxxx1
                                                                            urshl.  */
                                                                         return 3005;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx101000x1xx1xxxx1
                                                                        fminnm.  */
                                                                     return 2641;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             if (((word >> 17) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 18) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 19) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 22) & 0x1) == 0)
                                                                           {
                                                                             if (((word >> 23) & 0x1) == 0)
                                                                               {
                                                                                 if (((word >> 5) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001001x0000111000xxxx0xxxxx
                                                                                        fcvt.  */
                                                                                     return 2617;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001001x0000111000xxxx1xxxxx
                                                                                        fcvtn.  */
                                                                                     return 2618;
                                                                                   }
                                                                               }
                                                                             else
                                                                               {
                                                                                 if (((word >> 0) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001101x0000111000xxxxxxxxx0
                                                                                        fcvt.  */
                                                                                     return 3532;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001101x0000111000xxxxxxxxx1
                                                                                        fcvtl.  */
                                                                                     return 3533;
                                                                                   }
                                                                               }
                                                                           }
                                                                         else
                                                                           {
                                                                             if (((word >> 5) & 0x1) == 0)
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001x11x0000111000xxxx0xxxxx
                                                                                    bfcvt.  */
                                                                                 return 2585;
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001x11x0000111000xxxx1xxxxx
                                                                                    bfcvtn.  */
                                                                                 return 2586;
                                                                               }
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 20) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx101000111000xxxxxxxxxx
                                                                                frintn.  */
                                                                             return 2677;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx111000111000xxxxxxxxxx
                                                                                frintn.  */
                                                                             return 2678;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 5) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 19) & 0x1) == 0)
                                                                           {
                                                                             if (((word >> 20) & 0x1) == 0)
                                                                               {
                                                                                 if (((word >> 22) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001x0100100111000xxxx0xxxxx
                                                                                        fcvt.  */
                                                                                     return 3619;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001x1100100111000xxxx0xxxxx
                                                                                        bfcvt.  */
                                                                                     return 3614;
                                                                                   }
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx110100111000xxxx0xxxxx
                                                                                    fcvt.  */
                                                                                 return 3620;
                                                                               }
                                                                           }
                                                                         else
                                                                           {
                                                                             if (((word >> 20) & 0x1) == 0)
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx101100111000xxxx0xxxxx
                                                                                    frinta.  */
                                                                                 return 2673;
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx111100111000xxxx0xxxxx
                                                                                    frinta.  */
                                                                                 return 2674;
                                                                               }
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xx100111000xxxx1xxxxx
                                                                            fcvtn.  */
                                                                         return 3621;
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 0) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 5) & 0x1) == 0)
                                                                           {
                                                                             if (((word >> 19) & 0x1) == 0)
                                                                               {
                                                                                 if (((word >> 20) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx100010111000xxxx0xxxx0
                                                                                        scvtf.  */
                                                                                     return 2778;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx110010111000xxxx0xxxx0
                                                                                        scvtf.  */
                                                                                     return 2779;
                                                                                   }
                                                                               }
                                                                             else
                                                                               {
                                                                                 if (((word >> 20) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx101010111000xxxx0xxxx0
                                                                                        frintm.  */
                                                                                     return 2675;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx111010111000xxxx0xxxx0
                                                                                        frintm.  */
                                                                                     return 2676;
                                                                                   }
                                                                               }
                                                                           }
                                                                         else
                                                                           {
                                                                             if (((word >> 20) & 0x1) == 0)
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx10x010111000xxxx1xxxx0
                                                                                    ucvtf.  */
                                                                                 return 2943;
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx11x010111000xxxx1xxxx0
                                                                                    ucvtf.  */
                                                                                 return 2944;
                                                                               }
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 20) & 0x1) == 0)
                                                                           {
                                                                             if (((word >> 22) & 0x1) == 0)
                                                                               {
                                                                                 if (((word >> 23) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x10000010010x110111000xxxxxxxxx0
                                                                                        f1cvt.  */
                                                                                     return 3615;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x10000011010x110111000xxxxxxxxx0
                                                                                        f2cvt.  */
                                                                                     return 3616;
                                                                                   }
                                                                               }
                                                                             else
                                                                               {
                                                                                 if (((word >> 23) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x10000010110x110111000xxxxxxxxx0
                                                                                        bf1cvt.  */
                                                                                     return 3610;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x10000011110x110111000xxxxxxxxx0
                                                                                        bf2cvt.  */
                                                                                     return 3611;
                                                                                   }
                                                                               }
                                                                           }
                                                                         else
                                                                           {
                                                                             if (((word >> 1) & 0x1) == 0)
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx11x110111000xxxxxxxx00
                                                                                    zip.  */
                                                                                 return 3043;
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx11x110111000xxxxxxxx10
                                                                                    uzp.  */
                                                                                 return 3030;
                                                                               }
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 22) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 23) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001001xxx10111000xxxxxxxxx1
                                                                                f1cvtl.  */
                                                                             return 3617;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001101xxx10111000xxxxxxxxx1
                                                                                f2cvtl.  */
                                                                             return 3618;
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 23) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001011xxx10111000xxxxxxxxx1
                                                                                bf1cvtl.  */
                                                                             return 3612;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001111xxx10111000xxxxxxxxx1
                                                                                bf2cvtl.  */
                                                                             return 3613;
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 17) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 0) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 5) & 0x1) == 0)
                                                                           {
                                                                             if (((word >> 19) & 0x1) == 0)
                                                                               {
                                                                                 if (((word >> 20) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx100001111000xxxx0xxxx0
                                                                                        fcvtzs.  */
                                                                                     return 2619;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx110001111000xxxx0xxxx0
                                                                                        fcvtzs.  */
                                                                                     return 2620;
                                                                                   }
                                                                               }
                                                                             else
                                                                               {
                                                                                 if (((word >> 20) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx101001111000xxxx0xxxx0
                                                                                        frintp.  */
                                                                                     return 2679;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001xx111001111000xxxx0xxxx0
                                                                                        frintp.  */
                                                                                     return 2680;
                                                                                   }
                                                                               }
                                                                           }
                                                                         else
                                                                           {
                                                                             if (((word >> 20) & 0x1) == 0)
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx10x001111000xxxx1xxxx0
                                                                                    fcvtzu.  */
                                                                                 return 2621;
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001xx11x001111000xxxx1xxxx0
                                                                                    fcvtzu.  */
                                                                                 return 2622;
                                                                               }
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 20) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx10x101111000xxxxxxxxx0
                                                                                sunpk.  */
                                                                             return 2936;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx11x101111000xxxxxxxxx0
                                                                                sunpk.  */
                                                                             return 2937;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 20) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx10xx01111000xxxxxxxxx1
                                                                            uunpk.  */
                                                                         return 3024;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx11xx01111000xxxxxxxxx1
                                                                            uunpk.  */
                                                                         return 3025;
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 5) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 20) & 0x1) == 0)
                                                                           {
                                                                             if (((word >> 22) & 0x1) == 0)
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001x010x011111000xxxx0xxxxx
                                                                                    sqcvt.  */
                                                                                 return 2836;
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    x1000001x110x011111000xxxx0xxxxx
                                                                                    sqcvtu.  */
                                                                                 return 2839;
                                                                               }
                                                                           }
                                                                         else
                                                                           {
                                                                             if (((word >> 6) & 0x1) == 0)
                                                                               {
                                                                                 if (((word >> 22) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001x011x011111000xxx00xxxxx
                                                                                        sqcvt.  */
                                                                                     return 2837;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001x111x011111000xxx00xxxxx
                                                                                        sqcvtu.  */
                                                                                     return 2840;
                                                                                   }
                                                                               }
                                                                             else
                                                                               {
                                                                                 if (((word >> 22) & 0x1) == 0)
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001x011x011111000xxx10xxxxx
                                                                                        sqcvtn.  */
                                                                                     return 2838;
                                                                                   }
                                                                                 else
                                                                                   {
                                                                                     /* 33222222222211111111110000000000
                                                                                        10987654321098765432109876543210
                                                                                        x1000001x111x011111000xxx10xxxxx
                                                                                        sqcvtun.  */
                                                                                     return 2841;
                                                                                   }
                                                                               }
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 1) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx1xx111111000xxxx0xxx0x
                                                                                zip.  */
                                                                             return 3044;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx1xx111111000xxxx0xxx1x
                                                                                uzp.  */
                                                                             return 3031;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 20) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx10xx11111000xxxx1xxxxx
                                                                            uqcvt.  */
                                                                         return 2999;
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 6) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx11xx11111000xxx01xxxxx
                                                                                uqcvt.  */
                                                                             return 3000;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx11xx11111000xxx11xxxxx
                                                                                uqcvtn.  */
                                                                             return 3001;
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 0) & 0x1) == 0)
                                                       {
                                                         if (((word >> 5) & 0x1) == 0)
                                                           {
                                                             if (((word >> 6) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 7) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 8) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx1x1100x0000xxxx0
                                                                            smax.  */
                                                                         return 2796;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx1x1100x1000xxxx0
                                                                            fmax.  */
                                                                         return 2631;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1100xx100xxxx0
                                                                        bfscale.  */
                                                                     return 3070;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1100xxx10xxxx0
                                                                    famax.  */
                                                                 return 1310;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 8) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 9) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x110000xx1xxxx0
                                                                        smin.  */
                                                                     return 2800;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x110010xx1xxxx0
                                                                        srshl.  */
                                                                     return 2854;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1100x1xx1xxxx0
                                                                    fmaxnm.  */
                                                                 return 2635;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 5) & 0x1) == 0)
                                                           {
                                                             if (((word >> 6) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 8) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1100x0x00xxxx1
                                                                        umax.  */
                                                                     return 2959;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1100x1x00xxxx1
                                                                        fmin.  */
                                                                     return 2639;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1100xxx10xxxx1
                                                                    famin.  */
                                                                 return 1312;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 8) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 9) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x110000xx1xxxx1
                                                                        umin.  */
                                                                     return 2963;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x110010xx1xxxx1
                                                                        urshl.  */
                                                                     return 3007;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1100x1xx1xxxx1
                                                                    fminnm.  */
                                                                 return 2643;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 0) & 0x1) == 0)
                                                   {
                                                     if (((word >> 5) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 7) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 8) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx101010x00x0xxxx0
                                                                            smax.  */
                                                                         return 2795;
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 9) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx1xxxxx101010010x0xxxx0
                                                                                fmax.  */
                                                                             return 2630;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                x1000001xx1xxxxx101010110x0xxxx0
                                                                                add.  */
                                                                             return 2584;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx101010xx1x0xxxx0
                                                                        bfscale.  */
                                                                     return 3069;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxx0111010xxxx0xxxx0
                                                                        bfmul.  */
                                                                     return 3072;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxx1111010xxxx0xxxx0
                                                                        bfmul.  */
                                                                     return 3073;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 6) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 7) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 8) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx1x1110x0000xxxx0
                                                                            smax.  */
                                                                         return 2797;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            x1000001xx1xxxxx1x1110x1000xxxx0
                                                                            fmax.  */
                                                                         return 2632;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1110xx100xxxx0
                                                                        bfscale.  */
                                                                     return 3071;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1110xxx10xxxx0
                                                                    famax.  */
                                                                 return 1311;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 8) & 0x1) == 0)
                                                           {
                                                             if (((word >> 9) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 12) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x101000xx1xxxx0
                                                                        smin.  */
                                                                     return 2799;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x111000xx1xxxx0
                                                                        smin.  */
                                                                     return 2801;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 12) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x101010xx1xxxx0
                                                                        srshl.  */
                                                                     return 2853;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x111010xx1xxxx0
                                                                        srshl.  */
                                                                     return 2855;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1010x1xx1xxxx0
                                                                    fmaxnm.  */
                                                                 return 2634;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1110x1xx1xxxx0
                                                                    fmaxnm.  */
                                                                 return 2636;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 5) & 0x1) == 0)
                                                       {
                                                         if (((word >> 6) & 0x1) == 0)
                                                           {
                                                             if (((word >> 8) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 12) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1010x0x00xxxx1
                                                                        umax.  */
                                                                     return 2958;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1110x0x00xxxx1
                                                                        umax.  */
                                                                     return 2960;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 12) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1010x1x00xxxx1
                                                                        fmin.  */
                                                                     return 2638;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x1110x1x00xxxx1
                                                                        fmin.  */
                                                                     return 2640;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxxx1x1x10xxx10xxxx1
                                                                famin.  */
                                                             return 1313;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 8) & 0x1) == 0)
                                                           {
                                                             if (((word >> 9) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 12) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x101000xx1xxxx1
                                                                        umin.  */
                                                                     return 2962;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x111000xx1xxxx1
                                                                        umin.  */
                                                                     return 2964;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 12) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x101010xx1xxxx1
                                                                        urshl.  */
                                                                     return 3006;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1000001xx1xxxxx1x111010xx1xxxx1
                                                                        urshl.  */
                                                                     return 3008;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1010x1xx1xxxx1
                                                                    fminnm.  */
                                                                 return 2642;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1000001xx1xxxxx1x1110x1xx1xxxx1
                                                                    fminnm.  */
                                                                 return 2644;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1000001xx1xxxxx101001xxxxxxxxxx
                                                            sqdmulh.  */
                                                         return 2842;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxx0111001xxxxxxxxxx
                                                                bfmul.  */
                                                             return 3074;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1000001xx1xxxx1111001xxxxxxxxxx
                                                                bfmul.  */
                                                             return 3075;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000001xx1xxxxx1x1101xxxxxxxxxx
                                                        sqdmulh.  */
                                                     return 2844;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000001xx1xxxxx1x1011xxxxxxxxxx
                                                        sqdmulh.  */
                                                     return 2843;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1000001xx1xxxxx1x1111xxxxxxxxxx
                                                        sqdmulh.  */
                                                     return 2845;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 22) & 0x1) == 0)
                               {
                                 if (((word >> 23) & 0x1) == 0)
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 3) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx000xxxxxxxxx0xxx
                                                            st1b.  */
                                                         return 2862;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx010xxxxxxxxx0xxx
                                                            st1w.  */
                                                         return 2886;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx001xxxxxxxxx0xxx
                                                            st1h.  */
                                                         return 2878;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx011xxxxxxxxx0xxx
                                                            st1d.  */
                                                         return 2870;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx000xxxxxxxxx1xxx
                                                            stnt1b.  */
                                                         return 2894;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx010xxxxxxxxx1xxx
                                                            stnt1w.  */
                                                         return 2918;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx001xxxxxxxxx1xxx
                                                            stnt1h.  */
                                                         return 2910;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx011xxxxxxxxx1xxx
                                                            stnt1d.  */
                                                         return 2902;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1100001001xxxxx0xxxxxxxxxxxxxxx
                                                str.  */
                                             return 2545;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0100001001xxxxx100xxxxxxxxx0xxx
                                                            st1b.  */
                                                         return 2863;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1100001001xxxxx100xxxxxxxxx0xxx
                                                            str.  */
                                                         return 2920;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001001xxxxx110xxxxxxxxx0xxx
                                                        st1w.  */
                                                     return 2887;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001001xxxxx101xxxxxxxxx0xxx
                                                        st1h.  */
                                                     return 2879;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001001xxxxx111xxxxxxxxx0xxx
                                                        st1d.  */
                                                     return 2871;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001001xxxxx100xxxxxxxxx1xxx
                                                        stnt1b.  */
                                                     return 2895;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001001xxxxx110xxxxxxxxx1xxx
                                                        stnt1w.  */
                                                     return 2919;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001001xxxxx101xxxxxxxxx1xxx
                                                        stnt1h.  */
                                                     return 2911;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001001xxxxx111xxxxxxxxx1xxx
                                                        stnt1d.  */
                                                     return 2903;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx100001101xxxxxxxxxxxxxxxx0xxxx
                                            umopa.  */
                                         return 2521;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx100001101xxxxxxxxxxxxxxxx1xxxx
                                            umops.  */
                                         return 2523;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 23) & 0x1) == 0)
                                   {
                                     if (((word >> 3) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx000xxxxxxxxx0xxx
                                                        st1b.  */
                                                     return 2858;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx100xxxxxxxxx0xxx
                                                        st1b.  */
                                                     return 2859;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx010xxxxxxxxx0xxx
                                                        st1w.  */
                                                     return 2882;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx110xxxxxxxxx0xxx
                                                        st1w.  */
                                                     return 2883;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx001xxxxxxxxx0xxx
                                                        st1h.  */
                                                     return 2874;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx101xxxxxxxxx0xxx
                                                        st1h.  */
                                                     return 2875;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx011xxxxxxxxx0xxx
                                                        st1d.  */
                                                     return 2866;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx111xxxxxxxxx0xxx
                                                        st1d.  */
                                                     return 2867;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx000xxxxxxxxx1xxx
                                                        stnt1b.  */
                                                     return 2890;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx100xxxxxxxxx1xxx
                                                        stnt1b.  */
                                                     return 2891;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx010xxxxxxxxx1xxx
                                                        stnt1w.  */
                                                     return 2914;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx110xxxxxxxxx1xxx
                                                        stnt1w.  */
                                                     return 2915;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx001xxxxxxxxx1xxx
                                                        stnt1h.  */
                                                     return 2906;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx101xxxxxxxxx1xxx
                                                        stnt1h.  */
                                                     return 2907;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx011xxxxxxxxx1xxx
                                                        stnt1d.  */
                                                     return 2898;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx100001011xxxxx111xxxxxxxxx1xxx
                                                        stnt1d.  */
                                                     return 2899;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0100001111xxxxxxxxxxxxxxxx0xxxx
                                                umopa.  */
                                             return 2522;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1100001111xxxxxxxxxxxxxxxx0xxxx
                                                st1q.  */
                                             return 2543;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx100001111xxxxxxxxxxxxxxxx1xxxx
                                            umops.  */
                                         return 2524;
                                       }
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 29) & 0x1) == 0)
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x0010001xxxxxxxxxxxxxxxxxxxxxxxx
                                add.  */
                             return 12;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x1010001xxxxxxxxxxxxxxxxxxxxxxxx
                                sub.  */
                             return 16;
                           }
                       }
                     else
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x0110001xxxxxxxxxxxxxxxxxxxxxxxx
                                adds.  */
                             return 14;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x1110001xxxxxxxxxxxxxxxxxxxxxxxx
                                subs.  */
                             return 17;
                           }
                       }
                   }
               }
           }
         else
           {
             if (((word >> 28) & 0x1) == 0)
               {
                 if (((word >> 22) & 0x1) == 0)
                   {
                     if (((word >> 23) & 0x1) == 0)
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00001000000xxxxx0xxxxxxxxxxxxxxx
                                                    stxrb.  */
                                                 return 989;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01001000000xxxxx0xxxxxxxxxxxxxxx
                                                    stxrh.  */
                                                 return 995;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000000xxxxx0xxxxxxxxxxxxxxx
                                                stxr.  */
                                             return 1001;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001001000xxxxx0xxxxxxxxxxxxxxx
                                            sttxr.  */
                                         return 1252;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0x00100x001xxxxx0xxxxxxxxxxxxxxx
                                            casp.  */
                                         return 1078;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x001xxxxx0xxxxxxxxxxxxxxx
                                            stxp.  */
                                         return 1003;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00001000000xxxxx1xxxxxxxxxxxxxxx
                                                    stlxrb.  */
                                                 return 990;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01001000000xxxxx1xxxxxxxxxxxxxxx
                                                    stlxrh.  */
                                                 return 996;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000000xxxxx1xxxxxxxxxxxxxxx
                                                stlxr.  */
                                             return 1002;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001001000xxxxx1xxxxxxxxxxxxxxx
                                            stltxr.  */
                                         return 1253;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0x00100x001xxxxx1xxxxxxxxxxxxxxx
                                            caspl.  */
                                         return 1080;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x001xxxxx1xxxxxxxxxxxxxxx
                                            stlxp.  */
                                         return 1004;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x010100x00xxxxxxxxxxxxxxxxxxxxxx
                                    stnp.  */
                                 return 1023;
                               }
                             else
                               {
                                 if (((word >> 24) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x110100000xxxxxxxxxxxxxxxxxxxxxx
                                        sttnp.  */
                                     return 1286;
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0110100100xxxxxxxxxxxxxxxxxxxxxx
                                            stgp.  */
                                         return 1032;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1110100100xxxxxxxxxxxxxxxxxxxxxx
                                            sttp.  */
                                         return 1290;
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0x001000100xxxxx0xxxxxxxxxxxxxxx
                                                stllrb.  */
                                             return 1021;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000100xxxxx0xxxxxxxxxxxxxxx
                                                stllr.  */
                                             return 1020;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0x001001100xxxxx0xxxxxxxxxxxxxxx
                                                caspt.  */
                                             return 1258;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001001100xxxxx0xxxxxxxxxxxxxxx
                                                cast.  */
                                             return 1254;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0000100x101xxxxx0xxxxxxxxxxxxxxx
                                                casb.  */
                                             return 1066;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0100100x101xxxxx0xxxxxxxxxxxxxxx
                                                cash.  */
                                             return 1067;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x101xxxxx0xxxxxxxxxxxxxxx
                                            cas.  */
                                         return 1068;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00001000100xxxxx1xxxxxxxxxxxxxxx
                                                    stlrb.  */
                                                 return 993;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01001000100xxxxx1xxxxxxxxxxxxxxx
                                                    stlrh.  */
                                                 return 999;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000100xxxxx1xxxxxxxxxxxxxxx
                                                stlr.  */
                                             return 1009;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0x001001100xxxxx1xxxxxxxxxxxxxxx
                                                casplt.  */
                                             return 1261;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001001100xxxxx1xxxxxxxxxxxxxxx
                                                caslt.  */
                                             return 1257;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0000100x101xxxxx1xxxxxxxxxxxxxxx
                                                caslb.  */
                                             return 1070;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0100100x101xxxxx1xxxxxxxxxxxxxxx
                                                caslh.  */
                                             return 1073;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x101xxxxx1xxxxxxxxxxxxxxx
                                            casl.  */
                                         return 1076;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x010100x10xxxxxxxxxxxxxxxxxxxxxx
                                    stp.  */
                                 return 1033;
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        0110100x10xxxxxxxxxxxxxxxxxxxxxx
                                        stgp.  */
                                     return 1038;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        1110100x10xxxxxxxxxxxxxxxxxxxxxx
                                        sttp.  */
                                     return 1294;
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 23) & 0x1) == 0)
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00001000010xxxxx0xxxxxxxxxxxxxxx
                                                    ldxrb.  */
                                                 return 991;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01001000010xxxxx0xxxxxxxxxxxxxxx
                                                    ldxrh.  */
                                                 return 997;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000010xxxxx0xxxxxxxxxxxxxxx
                                                ldxr.  */
                                             return 1005;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001001010xxxxx0xxxxxxxxxxxxxxx
                                            ldtxr.  */
                                         return 1250;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0x00100x011xxxxx0xxxxxxxxxxxxxxx
                                            caspa.  */
                                         return 1079;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x011xxxxx0xxxxxxxxxxxxxxx
                                            ldxp.  */
                                         return 1007;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00001000010xxxxx1xxxxxxxxxxxxxxx
                                                    ldaxrb.  */
                                                 return 992;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01001000010xxxxx1xxxxxxxxxxxxxxx
                                                    ldaxrh.  */
                                                 return 998;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000010xxxxx1xxxxxxxxxxxxxxx
                                                ldaxr.  */
                                             return 1006;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001001010xxxxx1xxxxxxxxxxxxxxx
                                            ldatxr.  */
                                         return 1251;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0x00100x011xxxxx1xxxxxxxxxxxxxxx
                                            caspal.  */
                                         return 1081;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x011xxxxx1xxxxxxxxxxxxxxx
                                            ldaxp.  */
                                         return 1008;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x010100x01xxxxxxxxxxxxxxxxxxxxxx
                                    ldnp.  */
                                 return 1024;
                               }
                             else
                               {
                                 if (((word >> 24) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x110100001xxxxxxxxxxxxxxxxxxxxxx
                                        ldtnp.  */
                                     return 1284;
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0110100101xxxxxxxxxxxxxxxxxxxxxx
                                            ldpsw.  */
                                         return 1031;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1110100101xxxxxxxxxxxxxxxxxxxxxx
                                            ldtp.  */
                                         return 1288;
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00001000110xxxxx0xxxxxxxxxxxxxxx
                                                    ldlarb.  */
                                                 return 1018;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01001000110xxxxx0xxxxxxxxxxxxxxx
                                                    ldlarh.  */
                                                 return 1019;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000110xxxxx0xxxxxxxxxxxxxxx
                                                ldlar.  */
                                             return 1017;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0x001001110xxxxx0xxxxxxxxxxxxxxx
                                                caspat.  */
                                             return 1259;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001001110xxxxx0xxxxxxxxxxxxxxx
                                                casat.  */
                                             return 1255;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0000100x111xxxxx0xxxxxxxxxxxxxxx
                                                casab.  */
                                             return 1069;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0100100x111xxxxx0xxxxxxxxxxxxxxx
                                                casah.  */
                                             return 1072;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x111xxxxx0xxxxxxxxxxxxxxx
                                            casa.  */
                                         return 1075;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 24) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00001000110xxxxx1xxxxxxxxxxxxxxx
                                                    ldarb.  */
                                                 return 994;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01001000110xxxxx1xxxxxxxxxxxxxxx
                                                    ldarh.  */
                                                 return 1000;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001000110xxxxx1xxxxxxxxxxxxxxx
                                                ldar.  */
                                             return 1010;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0x001001110xxxxx1xxxxxxxxxxxxxxx
                                                caspalt.  */
                                             return 1260;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x001001110xxxxx1xxxxxxxxxxxxxxx
                                                casalt.  */
                                             return 1256;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0000100x111xxxxx1xxxxxxxxxxxxxxx
                                                casalb.  */
                                             return 1071;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                0100100x111xxxxx1xxxxxxxxxxxxxxx
                                                casalh.  */
                                             return 1074;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x00100x111xxxxx1xxxxxxxxxxxxxxx
                                            casal.  */
                                         return 1077;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x010100x11xxxxxxxxxxxxxxxxxxxxxx
                                    ldp.  */
                                 return 1034;
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        0110100x11xxxxxxxxxxxxxxxxxxxxxx
                                        ldpsw.  */
                                     return 1037;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        1110100x11xxxxxxxxxxxxxxxxxxxxxx
                                        ldtp.  */
                                     return 1292;
                                   }
                               }
                           }
                       }
                   }
               }
             else
               {
                 if (((word >> 24) & 0x1) == 0)
                   {
                     if (((word >> 29) & 0x1) == 0)
                       {
                         if (((word >> 31) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                0x011000xxxxxxxxxxxxxxxxxxxxxxxx
                                ldr.  */
                             return 1039;
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    10011000xxxxxxxxxxxxxxxxxxxxxxxx
                                    ldrsw.  */
                                 return 1041;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    11011000xxxxxxxxxxxxxxxxxxxxxxxx
                                    prfm.  */
                                 return 1042;
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 10) & 0x1) == 0)
                           {
                             if (((word >> 11) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00111000000xxxxxxxxx00xxxxxxxxxx
                                                        sturb.  */
                                                     return 974;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01111000000xxxxxxxxx00xxxxxxxxxx
                                                        sturh.  */
                                                     return 979;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x111000000xxxxxxxxx00xxxxxxxxxx
                                                    stur.  */
                                                 return 982;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00111000010xxxxxxxxx00xxxxxxxxxx
                                                        ldurb.  */
                                                     return 975;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01111000010xxxxxxxxx00xxxxxxxxxx
                                                        ldurh.  */
                                                     return 980;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x111000010xxxxxxxxx00xxxxxxxxxx
                                                    ldur.  */
                                                 return 983;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001110001x0xxxxxxxxx00xxxxxxxxxx
                                                    ldursb.  */
                                                 return 976;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101110001x0xxxxxxxxx00xxxxxxxxxx
                                                    ldursw.  */
                                                 return 984;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011110001x0xxxxxxxxx00xxxxxxxxxx
                                                    ldursh.  */
                                                 return 981;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111110001x0xxxxxxxxx00xxxxxxxxxx
                                                    prfum.  */
                                                 return 985;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000001xxxxx000000xxxxxxxxxx
                                                                        ldaddb.  */
                                                                     return 1094;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx000000xxxxxxxxxx
                                                                        ldaddh.  */
                                                                     return 1095;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000001xxxxx000000xxxxxxxxxx
                                                                    ldadd.  */
                                                                 return 1096;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000101xxxxx000000xxxxxxxxxx
                                                                        ldaddab.  */
                                                                     return 1097;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000101xxxxx000000xxxxxxxxxx
                                                                        ldaddah.  */
                                                                     return 1100;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000101xxxxx000000xxxxxxxxxx
                                                                    ldadda.  */
                                                                 return 1103;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000011xxxxx000000xxxxxxxxxx
                                                                        ldaddlb.  */
                                                                     return 1098;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000011xxxxx000000xxxxxxxxxx
                                                                        ldaddlh.  */
                                                                     return 1101;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000011xxxxx000000xxxxxxxxxx
                                                                    ldaddl.  */
                                                                 return 1104;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000111xxxxx000000xxxxxxxxxx
                                                                        ldaddalb.  */
                                                                     return 1099;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000111xxxxx000000xxxxxxxxxx
                                                                        ldaddalh.  */
                                                                     return 1102;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000111xxxxx000000xxxxxxxxxx
                                                                    ldaddal.  */
                                                                 return 1105;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000001xxxxx100000xxxxxxxxxx
                                                                        swpb.  */
                                                                     return 1082;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx100000xxxxxxxxxx
                                                                        swph.  */
                                                                     return 1083;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000001xxxxx100000xxxxxxxxxx
                                                                    swp.  */
                                                                 return 1084;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000101xxxxx100000xxxxxxxxxx
                                                                        swpab.  */
                                                                     return 1085;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000101xxxxx100000xxxxxxxxxx
                                                                        swpah.  */
                                                                     return 1088;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000101xxxxx100000xxxxxxxxxx
                                                                    swpa.  */
                                                                 return 1091;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000011xxxxx100000xxxxxxxxxx
                                                                        swplb.  */
                                                                     return 1086;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000011xxxxx100000xxxxxxxxxx
                                                                        swplh.  */
                                                                     return 1089;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000011xxxxx100000xxxxxxxxxx
                                                                    swpl.  */
                                                                 return 1092;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000111xxxxx100000xxxxxxxxxx
                                                                        swpalb.  */
                                                                     return 1087;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000111xxxxx100000xxxxxxxxxx
                                                                        swpalh.  */
                                                                     return 1090;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000111xxxxx100000xxxxxxxxxx
                                                                    swpal.  */
                                                                 return 1093;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000001xxxxx010000xxxxxxxxxx
                                                                        ldsmaxb.  */
                                                                     return 1142;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx010000xxxxxxxxxx
                                                                        ldsmaxh.  */
                                                                     return 1143;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000001xxxxx010000xxxxxxxxxx
                                                                    ldsmax.  */
                                                                 return 1144;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000101xxxxx010000xxxxxxxxxx
                                                                        ldsmaxab.  */
                                                                     return 1145;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000101xxxxx010000xxxxxxxxxx
                                                                        ldsmaxah.  */
                                                                     return 1148;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000101xxxxx010000xxxxxxxxxx
                                                                    ldsmaxa.  */
                                                                 return 1151;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000011xxxxx010000xxxxxxxxxx
                                                                        ldsmaxlb.  */
                                                                     return 1146;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000011xxxxx010000xxxxxxxxxx
                                                                        ldsmaxlh.  */
                                                                     return 1149;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000011xxxxx010000xxxxxxxxxx
                                                                    ldsmaxl.  */
                                                                 return 1152;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000111xxxxx010000xxxxxxxxxx
                                                                        ldsmaxalb.  */
                                                                     return 1147;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000111xxxxx010000xxxxxxxxxx
                                                                        ldsmaxalh.  */
                                                                     return 1150;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000111xxxxx010000xxxxxxxxxx
                                                                    ldsmaxal.  */
                                                                 return 1153;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 31) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00111000xx1xxxxx110000xxxxxxxxxx
                                                                ldaprb.  */
                                                             return 1011;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01111000xx1xxxxx110000xxxxxxxxxx
                                                                ldaprh.  */
                                                             return 1012;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            1x111000xx1xxxxx110000xxxxxxxxxx
                                                            ldapr.  */
                                                         return 1013;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000001xxxxx001000xxxxxxxxxx
                                                                        ldeorb.  */
                                                                     return 1118;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx001000xxxxxxxxxx
                                                                        ldeorh.  */
                                                                     return 1119;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000001xxxxx001000xxxxxxxxxx
                                                                    ldeor.  */
                                                                 return 1120;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000101xxxxx001000xxxxxxxxxx
                                                                        ldeorab.  */
                                                                     return 1121;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000101xxxxx001000xxxxxxxxxx
                                                                        ldeorah.  */
                                                                     return 1124;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000101xxxxx001000xxxxxxxxxx
                                                                    ldeora.  */
                                                                 return 1127;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000011xxxxx001000xxxxxxxxxx
                                                                        ldeorlb.  */
                                                                     return 1122;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000011xxxxx001000xxxxxxxxxx
                                                                        ldeorlh.  */
                                                                     return 1125;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000011xxxxx001000xxxxxxxxxx
                                                                    ldeorl.  */
                                                                 return 1128;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000111xxxxx001000xxxxxxxxxx
                                                                        ldeoralb.  */
                                                                     return 1123;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000111xxxxx001000xxxxxxxxxx
                                                                        ldeoralh.  */
                                                                     return 1126;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000111xxxxx001000xxxxxxxxxx
                                                                    ldeoral.  */
                                                                 return 1129;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000001xxxxx101000xxxxxxxxxx
                                                                    rcwswp.  */
                                                                 return 3423;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 31) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx101000xxxxxxxxxx
                                                                        rcwsswp.  */
                                                                     return 3431;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        11111000001xxxxx101000xxxxxxxxxx
                                                                        st64bv0.  */
                                                                     return 1046;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000101xxxxx101000xxxxxxxxxx
                                                                    rcwswpa.  */
                                                                 return 3424;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000101xxxxx101000xxxxxxxxxx
                                                                    rcwsswpa.  */
                                                                 return 3432;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000011xxxxx101000xxxxxxxxxx
                                                                    rcwswpl.  */
                                                                 return 3426;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000011xxxxx101000xxxxxxxxxx
                                                                    rcwsswpl.  */
                                                                 return 3434;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000111xxxxx101000xxxxxxxxxx
                                                                    rcwswpal.  */
                                                                 return 3425;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000111xxxxx101000xxxxxxxxxx
                                                                    rcwsswpal.  */
                                                                 return 3433;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000001xxxxxx11000xxxxxxxxxx
                                                                    ldumaxb.  */
                                                                 return 1166;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000001xxxxxx11000xxxxxxxxxx
                                                                    ldumaxh.  */
                                                                 return 1167;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000001xxxxxx11000xxxxxxxxxx
                                                                ldumax.  */
                                                             return 1168;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000101xxxxxx11000xxxxxxxxxx
                                                                    ldumaxab.  */
                                                                 return 1169;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000101xxxxxx11000xxxxxxxxxx
                                                                    ldumaxah.  */
                                                                 return 1172;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000101xxxxxx11000xxxxxxxxxx
                                                                ldumaxa.  */
                                                             return 1175;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000011xxxxxx11000xxxxxxxxxx
                                                                    ldumaxlb.  */
                                                                 return 1170;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000011xxxxxx11000xxxxxxxxxx
                                                                    ldumaxlh.  */
                                                                 return 1173;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000011xxxxxx11000xxxxxxxxxx
                                                                ldumaxl.  */
                                                             return 1176;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000111xxxxxx11000xxxxxxxxxx
                                                                    ldumaxalb.  */
                                                                 return 1171;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000111xxxxxx11000xxxxxxxxxx
                                                                    ldumaxalh.  */
                                                                 return 1174;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000111xxxxxx11000xxxxxxxxxx
                                                                ldumaxal.  */
                                                             return 1177;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000001xxxxx000100xxxxxxxxxx
                                                                        ldclrb.  */
                                                                     return 1106;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx000100xxxxxxxxxx
                                                                        ldclrh.  */
                                                                     return 1107;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000001xxxxx000100xxxxxxxxxx
                                                                    ldclr.  */
                                                                 return 1108;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000101xxxxx000100xxxxxxxxxx
                                                                        ldclrab.  */
                                                                     return 1109;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000101xxxxx000100xxxxxxxxxx
                                                                        ldclrah.  */
                                                                     return 1112;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000101xxxxx000100xxxxxxxxxx
                                                                    ldclra.  */
                                                                 return 1115;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000011xxxxx000100xxxxxxxxxx
                                                                        ldclrlb.  */
                                                                     return 1110;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000011xxxxx000100xxxxxxxxxx
                                                                        ldclrlh.  */
                                                                     return 1113;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000011xxxxx000100xxxxxxxxxx
                                                                    ldclrl.  */
                                                                 return 1116;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000111xxxxx000100xxxxxxxxxx
                                                                        ldclralb.  */
                                                                     return 1111;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000111xxxxx000100xxxxxxxxxx
                                                                        ldclralh.  */
                                                                     return 1114;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000111xxxxx000100xxxxxxxxxx
                                                                    ldclral.  */
                                                                 return 1117;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000001xxxxx100100xxxxxxxxxx
                                                                    rcwclr.  */
                                                                 return 3391;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 31) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx100100xxxxxxxxxx
                                                                        rcwsclr.  */
                                                                     return 3399;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        11111000001xxxxx100100xxxxxxxxxx
                                                                        st64b.  */
                                                                     return 1044;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000101xxxxx100100xxxxxxxxxx
                                                                    rcwclra.  */
                                                                 return 3392;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000101xxxxx100100xxxxxxxxxx
                                                                    rcwsclra.  */
                                                                 return 3400;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000011xxxxx100100xxxxxxxxxx
                                                                    rcwclrl.  */
                                                                 return 3394;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000011xxxxx100100xxxxxxxxxx
                                                                    rcwsclrl.  */
                                                                 return 3402;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000111xxxxx100100xxxxxxxxxx
                                                                    rcwclral.  */
                                                                 return 3393;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000111xxxxx100100xxxxxxxxxx
                                                                    rcwsclral.  */
                                                                 return 3401;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000001xxxxx010100xxxxxxxxxx
                                                                        ldsminb.  */
                                                                     return 1154;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx010100xxxxxxxxxx
                                                                        ldsminh.  */
                                                                     return 1155;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000001xxxxx010100xxxxxxxxxx
                                                                    ldsmin.  */
                                                                 return 1156;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000101xxxxx010100xxxxxxxxxx
                                                                        ldsminab.  */
                                                                     return 1157;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000101xxxxx010100xxxxxxxxxx
                                                                        ldsminah.  */
                                                                     return 1160;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000101xxxxx010100xxxxxxxxxx
                                                                    ldsmina.  */
                                                                 return 1163;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000011xxxxx010100xxxxxxxxxx
                                                                        ldsminlb.  */
                                                                     return 1158;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000011xxxxx010100xxxxxxxxxx
                                                                        ldsminlh.  */
                                                                     return 1161;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000011xxxxx010100xxxxxxxxxx
                                                                    ldsminl.  */
                                                                 return 1164;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000111xxxxx010100xxxxxxxxxx
                                                                        ldsminalb.  */
                                                                     return 1159;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000111xxxxx010100xxxxxxxxxx
                                                                        ldsminalh.  */
                                                                     return 1162;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000111xxxxx010100xxxxxxxxxx
                                                                    ldsminal.  */
                                                                 return 1165;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111000xx1xxxxx110100xxxxxxxxxx
                                                        ld64b.  */
                                                     return 1043;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000001xxxxx001100xxxxxxxxxx
                                                                        ldsetb.  */
                                                                     return 1130;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx001100xxxxxxxxxx
                                                                        ldseth.  */
                                                                     return 1131;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000001xxxxx001100xxxxxxxxxx
                                                                    ldset.  */
                                                                 return 1132;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000101xxxxx001100xxxxxxxxxx
                                                                        ldsetab.  */
                                                                     return 1133;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000101xxxxx001100xxxxxxxxxx
                                                                        ldsetah.  */
                                                                     return 1136;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000101xxxxx001100xxxxxxxxxx
                                                                    ldseta.  */
                                                                 return 1139;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000011xxxxx001100xxxxxxxxxx
                                                                        ldsetlb.  */
                                                                     return 1134;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000011xxxxx001100xxxxxxxxxx
                                                                        ldsetlh.  */
                                                                     return 1137;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000011xxxxx001100xxxxxxxxxx
                                                                    ldsetl.  */
                                                                 return 1140;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        00111000111xxxxx001100xxxxxxxxxx
                                                                        ldsetalb.  */
                                                                     return 1135;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000111xxxxx001100xxxxxxxxxx
                                                                        ldsetalh.  */
                                                                     return 1138;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    1x111000111xxxxx001100xxxxxxxxxx
                                                                    ldsetal.  */
                                                                 return 1141;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000001xxxxx101100xxxxxxxxxx
                                                                    rcwset.  */
                                                                 return 3407;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 31) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        01111000001xxxxx101100xxxxxxxxxx
                                                                        rcwsset.  */
                                                                     return 3415;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        11111000001xxxxx101100xxxxxxxxxx
                                                                        st64bv.  */
                                                                     return 1045;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000101xxxxx101100xxxxxxxxxx
                                                                    rcwseta.  */
                                                                 return 3408;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000101xxxxx101100xxxxxxxxxx
                                                                    rcwsseta.  */
                                                                 return 3416;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000011xxxxx101100xxxxxxxxxx
                                                                    rcwsetl.  */
                                                                 return 3410;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000011xxxxx101100xxxxxxxxxx
                                                                    rcwssetl.  */
                                                                 return 3418;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x0111000111xxxxx101100xxxxxxxxxx
                                                                    rcwsetal.  */
                                                                 return 3409;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1111000111xxxxx101100xxxxxxxxxx
                                                                    rcwssetal.  */
                                                                 return 3417;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000001xxxxxx11100xxxxxxxxxx
                                                                    lduminb.  */
                                                                 return 1178;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000001xxxxxx11100xxxxxxxxxx
                                                                    lduminh.  */
                                                                 return 1179;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000001xxxxxx11100xxxxxxxxxx
                                                                ldumin.  */
                                                             return 1180;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000101xxxxxx11100xxxxxxxxxx
                                                                    lduminab.  */
                                                                 return 1181;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000101xxxxxx11100xxxxxxxxxx
                                                                    lduminah.  */
                                                                 return 1184;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000101xxxxxx11100xxxxxxxxxx
                                                                ldumina.  */
                                                             return 1187;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000011xxxxxx11100xxxxxxxxxx
                                                                    lduminlb.  */
                                                                 return 1182;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000011xxxxxx11100xxxxxxxxxx
                                                                    lduminlh.  */
                                                                 return 1185;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000011xxxxxx11100xxxxxxxxxx
                                                                lduminl.  */
                                                             return 1188;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00111000111xxxxxx11100xxxxxxxxxx
                                                                    lduminalb.  */
                                                                 return 1183;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01111000111xxxxxx11100xxxxxxxxxx
                                                                    lduminalh.  */
                                                                 return 1186;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x111000111xxxxxx11100xxxxxxxxxx
                                                                lduminal.  */
                                                             return 1189;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00111000000xxxxxxxxx10xxxxxxxxxx
                                                        sttrb.  */
                                                     return 965;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01111000000xxxxxxxxx10xxxxxxxxxx
                                                        sttrh.  */
                                                     return 968;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x111000000xxxxxxxxx10xxxxxxxxxx
                                                    sttr.  */
                                                 return 971;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00111000010xxxxxxxxx10xxxxxxxxxx
                                                        ldtrb.  */
                                                     return 966;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01111000010xxxxxxxxx10xxxxxxxxxx
                                                        ldtrh.  */
                                                     return 969;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x111000010xxxxxxxxx10xxxxxxxxxx
                                                    ldtr.  */
                                                 return 972;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001110001x0xxxxxxxxx10xxxxxxxxxx
                                                    ldtrsb.  */
                                                 return 967;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101110001x0xxxxxxxxx10xxxxxxxxxx
                                                    ldtrsw.  */
                                                 return 973;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x11110001x0xxxxxxxxx10xxxxxxxxxx
                                                ldtrsh.  */
                                             return 970;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00111000001xxxxxxxxx10xxxxxxxxxx
                                                        strb.  */
                                                     return 953;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01111000001xxxxxxxxx10xxxxxxxxxx
                                                        strh.  */
                                                     return 958;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x111000001xxxxxxxxx10xxxxxxxxxx
                                                    str.  */
                                                 return 961;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00111000011xxxxxxxxx10xxxxxxxxxx
                                                        ldrb.  */
                                                     return 954;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01111000011xxxxxxxxx10xxxxxxxxxx
                                                        ldrh.  */
                                                     return 959;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x111000011xxxxxxxxx10xxxxxxxxxx
                                                    ldr.  */
                                                 return 962;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001110001x1xxxxxxxxx10xxxxxxxxxx
                                                    ldrsb.  */
                                                 return 955;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101110001x1xxxxxxxxx10xxxxxxxxxx
                                                    ldrsw.  */
                                                 return 963;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011110001x1xxxxxxxxx10xxxxxxxxxx
                                                    ldrsh.  */
                                                 return 960;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111110001x1xxxxxxxxx10xxxxxxxxxx
                                                    prfm.  */
                                                 return 964;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 21) & 0x1) == 0)
                               {
                                 if (((word >> 23) & 0x1) == 0)
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00111000000xxxxxxxxxx1xxxxxxxxxx
                                                    strb.  */
                                                 return 922;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01111000000xxxxxxxxxx1xxxxxxxxxx
                                                    strh.  */
                                                 return 927;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x111000000xxxxxxxxxx1xxxxxxxxxx
                                                str.  */
                                             return 930;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    00111000010xxxxxxxxxx1xxxxxxxxxx
                                                    ldrb.  */
                                                 return 923;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    01111000010xxxxxxxxxx1xxxxxxxxxx
                                                    ldrh.  */
                                                 return 928;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x111000010xxxxxxxxxx1xxxxxxxxxx
                                                ldr.  */
                                             return 931;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                001110001x0xxxxxxxxxx1xxxxxxxxxx
                                                ldrsb.  */
                                             return 924;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                101110001x0xxxxxxxxxx1xxxxxxxxxx
                                                ldrsw.  */
                                             return 932;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x11110001x0xxxxxxxxxx1xxxxxxxxxx
                                            ldrsh.  */
                                         return 929;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 23) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx1110000x1xxxxxxxxxx1xxxxxxxxxx
                                        ldraa.  */
                                     return 987;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx1110001x1xxxxxxxxxx1xxxxxxxxxx
                                        ldrab.  */
                                     return 988;
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 23) & 0x1) == 0)
                       {
                         if (((word >> 22) & 0x1) == 0)
                           {
                             if (((word >> 29) & 0x1) == 0)
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00011001000xxxxxxxxx00xxxxxxxxxx
                                                        stlurb.  */
                                                     return 3116;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        10011001000xxxxxxxxx00xxxxxxxxxx
                                                        stlur.  */
                                                     return 3124;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001000xxxxxxxxx00xxxxxxxxxx
                                                        stlurh.  */
                                                     return 3120;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11011001000xxxxxxxxx00xxxxxxxxxx
                                                        stlur.  */
                                                     return 3127;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001001xxxxx0x0000xxxxxxxxxx
                                                            stzgm.  */
                                                         return 1016;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001001xxxxx1x0000xxxxxxxxxx
                                                            swpp.  */
                                                         return 1246;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011001001xxxxxxx1000xxxxxxxxxx
                                                            rcwswpp.  */
                                                         return 3427;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011001001xxxxxxx1000xxxxxxxxxx
                                                            rcwsswpp.  */
                                                         return 3435;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001001xxxxx0x0100xxxxxxxxxx
                                                            ldclrp.  */
                                                         return 1238;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001001xxxxx1x0100xxxxxxxxxx
                                                                rcwclrp.  */
                                                             return 3395;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1011001001xxxxx1x0100xxxxxxxxxx
                                                                rcwsclrp.  */
                                                             return 3403;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001001xxxxx0x1100xxxxxxxxxx
                                                            ldsetp.  */
                                                         return 1242;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001001xxxxx1x1100xxxxxxxxxx
                                                                rcwsetp.  */
                                                             return 3411;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1011001001xxxxx1x1100xxxxxxxxxx
                                                                rcwssetp.  */
                                                             return 3419;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx011001000xxxxxxxxx10xxxxxxxxxx
                                                stilp.  */
                                             return 1297;
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0011001001xxxxxxxxx10xxxxxxxxxx
                                                    rcwcas.  */
                                                 return 3375;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001001xxxxxxxxx10xxxxxxxxxx
                                                        rcwscas.  */
                                                     return 3383;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11011001001xxxxxxxxx10xxxxxxxxxx
                                                        stg.  */
                                                     return 933;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx000001xxxxxxxxxx
                                                                cpyfp.  */
                                                             return 3241;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx100001xxxxxxxxxx
                                                                cpyfprn.  */
                                                             return 3247;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx010001xxxxxxxxxx
                                                                cpyfpwn.  */
                                                             return 3244;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx110001xxxxxxxxxx
                                                                cpyfpn.  */
                                                             return 3250;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx001001xxxxxxxxxx
                                                                cpyfprt.  */
                                                             return 3265;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx101001xxxxxxxxxx
                                                                cpyfprtrn.  */
                                                             return 3271;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx011001xxxxxxxxxx
                                                                cpyfprtwn.  */
                                                             return 3268;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx111001xxxxxxxxxx
                                                                cpyfprtn.  */
                                                             return 3274;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx000101xxxxxxxxxx
                                                                cpyfpwt.  */
                                                             return 3253;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx100101xxxxxxxxxx
                                                                cpyfpwtrn.  */
                                                             return 3259;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx010101xxxxxxxxxx
                                                                cpyfpwtwn.  */
                                                             return 3256;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx110101xxxxxxxxxx
                                                                cpyfpwtn.  */
                                                             return 3262;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx001101xxxxxxxxxx
                                                                cpyfpt.  */
                                                             return 3277;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx101101xxxxxxxxxx
                                                                cpyfptrn.  */
                                                             return 3283;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx011101xxxxxxxxxx
                                                                cpyfptwn.  */
                                                             return 3280;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011001000xxxxx111101xxxxxxxxxx
                                                                cpyfptn.  */
                                                             return 3286;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx011001000xxxxxxxx011xxxxxxxxxx
                                                    gcsstr.  */
                                                 return 1368;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx011001000xxxxxxxx111xxxxxxxxxx
                                                    gcssttr.  */
                                                 return 1369;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001001xxxxx0xx001xxxxxxxxxx
                                                            ldtadd.  */
                                                         return 1266;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001001xxxxx1xx001xxxxxxxxxx
                                                            swpt.  */
                                                         return 1262;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001001xxxxxxx0101xxxxxxxxxx
                                                            ldtclr.  */
                                                         return 1272;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001001xxxxxxx1101xxxxxxxxxx
                                                            ldtset.  */
                                                         return 1278;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00011001001xxxxxxxxx11xxxxxxxxxx
                                                        rcwcasp.  */
                                                     return 3379;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001001xxxxxxxxx11xxxxxxxxxx
                                                        rcwscasp.  */
                                                     return 3387;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x011001001xxxxxxxxxx1xxxxxxxxxx
                                                stg.  */
                                             return 937;
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0011100100xxxxxxxxxxxxxxxxxxxxxx
                                            strb.  */
                                         return 941;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0111100100xxxxxxxxxxxxxxxxxxxxxx
                                            strh.  */
                                         return 946;
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        1x11100100xxxxxxxxxxxxxxxxxxxxxx
                                        str.  */
                                     return 949;
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 29) & 0x1) == 0)
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00011001010xxxxxxxxx00xxxxxxxxxx
                                                        ldapurb.  */
                                                     return 3117;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        10011001010xxxxxxxxx00xxxxxxxxxx
                                                        ldapur.  */
                                                     return 3125;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001010xxxxxxxxx00xxxxxxxxxx
                                                        ldapurh.  */
                                                     return 3121;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11011001010xxxxxxxxx00xxxxxxxxxx
                                                        ldapur.  */
                                                     return 3128;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011001011xxxxxxx0000xxxxxxxxxx
                                                            swppl.  */
                                                         return 1249;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011001011xxxxxxx1000xxxxxxxxxx
                                                            rcwswppl.  */
                                                         return 3430;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001011xxxxx0x0100xxxxxxxxxx
                                                                ldclrpl.  */
                                                             return 1241;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001011xxxxx1x0100xxxxxxxxxx
                                                                rcwclrpl.  */
                                                             return 3398;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 15) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001011xxxxx0x1100xxxxxxxxxx
                                                                ldsetpl.  */
                                                             return 1245;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001011xxxxx1x1100xxxxxxxxxx
                                                                rcwsetpl.  */
                                                             return 3414;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            01011001011xxxxxxxx000xxxxxxxxxx
                                                            rcwsswppl.  */
                                                         return 3438;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 13) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01011001011xxxxxxx0100xxxxxxxxxx
                                                                rcwsclrpl.  */
                                                             return 3406;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01011001011xxxxxxx1100xxxxxxxxxx
                                                                rcwssetpl.  */
                                                             return 3422;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11011001011xxxxxxxxx00xxxxxxxxxx
                                                        ldg.  */
                                                     return 986;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx011001010xxxxxxxxx10xxxxxxxxxx
                                                ldiapp.  */
                                             return 1296;
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0011001011xxxxxxxxx10xxxxxxxxxx
                                                    rcwcasl.  */
                                                 return 3378;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001011xxxxxxxxx10xxxxxxxxxx
                                                        rcwscasl.  */
                                                     return 3386;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11011001011xxxxxxxxx10xxxxxxxxxx
                                                        stzg.  */
                                                     return 934;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0000x1xxxxxxxxxx
                                                            cpyfm.  */
                                                         return 3242;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1000x1xxxxxxxxxx
                                                            cpyfmrn.  */
                                                         return 3248;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0100x1xxxxxxxxxx
                                                            cpyfmwn.  */
                                                         return 3245;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1100x1xxxxxxxxxx
                                                            cpyfmn.  */
                                                         return 3251;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0010x1xxxxxxxxxx
                                                            cpyfmrt.  */
                                                         return 3266;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1010x1xxxxxxxxxx
                                                            cpyfmrtrn.  */
                                                         return 3272;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0110x1xxxxxxxxxx
                                                            cpyfmrtwn.  */
                                                         return 3269;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1110x1xxxxxxxxxx
                                                            cpyfmrtn.  */
                                                         return 3275;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0001x1xxxxxxxxxx
                                                            cpyfmwt.  */
                                                         return 3254;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1001x1xxxxxxxxxx
                                                            cpyfmwtrn.  */
                                                         return 3260;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0101x1xxxxxxxxxx
                                                            cpyfmwtwn.  */
                                                         return 3257;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1101x1xxxxxxxxxx
                                                            cpyfmwtn.  */
                                                         return 3263;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0011x1xxxxxxxxxx
                                                            cpyfmt.  */
                                                         return 3278;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1011x1xxxxxxxxxx
                                                            cpyfmtrn.  */
                                                         return 3284;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx0111x1xxxxxxxxxx
                                                            cpyfmtwn.  */
                                                         return 3281;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001010xxxxx1111x1xxxxxxxxxx
                                                            cpyfmtn.  */
                                                         return 3287;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001011xxxxx0xx001xxxxxxxxxx
                                                            ldtaddl.  */
                                                         return 1270;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001011xxxxx1xx001xxxxxxxxxx
                                                            swptl.  */
                                                         return 1265;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001011xxxxxxx0101xxxxxxxxxx
                                                            ldtclrl.  */
                                                         return 1276;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001011xxxxxxx1101xxxxxxxxxx
                                                            ldtsetl.  */
                                                         return 1282;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00011001011xxxxxxxxx11xxxxxxxxxx
                                                        rcwcaspl.  */
                                                     return 3382;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001011xxxxxxxxx11xxxxxxxxxx
                                                        rcwscaspl.  */
                                                     return 3390;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x011001011xxxxxxxxxx1xxxxxxxxxx
                                                stzg.  */
                                             return 938;
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0011100101xxxxxxxxxxxxxxxxxxxxxx
                                            ldrb.  */
                                         return 942;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            0111100101xxxxxxxxxxxxxxxxxxxxxx
                                            ldrh.  */
                                         return 947;
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        1x11100101xxxxxxxxxxxxxxxxxxxxxx
                                        ldr.  */
                                     return 950;
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 10) & 0x1) == 0)
                               {
                                 if (((word >> 11) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00011001100xxxxxxxxx00xxxxxxxxxx
                                                        ldapursb.  */
                                                     return 3119;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        10011001100xxxxxxxxx00xxxxxxxxxx
                                                        ldapursw.  */
                                                     return 3126;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011001100xxxxxxxxx00xxxxxxxxxx
                                                    ldapursh.  */
                                                 return 3123;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0011001110xxxxxxxxx00xxxxxxxxxx
                                                    ldapursb.  */
                                                 return 3118;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011001110xxxxxxxxx00xxxxxxxxxx
                                                    ldapursh.  */
                                                 return 3122;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001101xxxxx0x0000xxxxxxxxxx
                                                            stgm.  */
                                                         return 1015;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001111xxxxx0x0000xxxxxxxxxx
                                                            ldgm.  */
                                                         return 1014;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001101xxxxx1x0000xxxxxxxxxx
                                                            swppa.  */
                                                         return 1247;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001111xxxxx1x0000xxxxxxxxxx
                                                            swppal.  */
                                                         return 1248;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011001101xxxxxxx1000xxxxxxxxxx
                                                            rcwswppa.  */
                                                         return 3428;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011001101xxxxxxx1000xxxxxxxxxx
                                                            rcwsswppa.  */
                                                         return 3436;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011001111xxxxxxx1000xxxxxxxxxx
                                                            rcwswppal.  */
                                                         return 3429;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011001111xxxxxxx1000xxxxxxxxxx
                                                            rcwsswppal.  */
                                                         return 3437;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001101xxxxx0x0100xxxxxxxxxx
                                                            ldclrpa.  */
                                                         return 1239;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001111xxxxx0x0100xxxxxxxxxx
                                                            ldclrpal.  */
                                                         return 1240;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001101xxxxx1x0100xxxxxxxxxx
                                                                rcwclrpa.  */
                                                             return 3396;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1011001101xxxxx1x0100xxxxxxxxxx
                                                                rcwsclrpa.  */
                                                             return 3404;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001111xxxxx1x0100xxxxxxxxxx
                                                                rcwclrpal.  */
                                                             return 3397;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1011001111xxxxx1x0100xxxxxxxxxx
                                                                rcwsclrpal.  */
                                                             return 3405;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001101xxxxx0x1100xxxxxxxxxx
                                                            ldsetpa.  */
                                                         return 1243;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001111xxxxx0x1100xxxxxxxxxx
                                                            ldsetpal.  */
                                                         return 1244;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001101xxxxx1x1100xxxxxxxxxx
                                                                rcwsetpa.  */
                                                             return 3412;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1011001101xxxxx1x1100xxxxxxxxxx
                                                                rcwssetpa.  */
                                                             return 3420;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011001111xxxxx1x1100xxxxxxxxxx
                                                                rcwsetpal.  */
                                                             return 3413;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1011001111xxxxx1x1100xxxxxxxxxx
                                                                rcwssetpal.  */
                                                             return 3421;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx011001100xxxxxxxxx10xxxxxxxxxx
                                                stlr.  */
                                             return 1299;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx011001110xxxxxxxxx10xxxxxxxxxx
                                                ldapr.  */
                                             return 1298;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0011001101xxxxxxxxx10xxxxxxxxxx
                                                    rcwcasa.  */
                                                 return 3376;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001101xxxxxxxxx10xxxxxxxxxx
                                                        rcwscasa.  */
                                                     return 3384;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11011001101xxxxxxxxx10xxxxxxxxxx
                                                        st2g.  */
                                                     return 935;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0011001111xxxxxxxxx10xxxxxxxxxx
                                                    rcwcasal.  */
                                                 return 3377;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001111xxxxxxxxx10xxxxxxxxxx
                                                        rcwscasal.  */
                                                     return 3385;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11011001111xxxxxxxxx10xxxxxxxxxx
                                                        stz2g.  */
                                                     return 936;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0000x1xxxxxxxxxx
                                                            cpyfe.  */
                                                         return 3243;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0000x1xxxxxxxxxx
                                                            setp.  */
                                                         return 3337;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx1000x1xxxxxxxxxx
                                                            cpyfern.  */
                                                         return 3249;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx1000x1xxxxxxxxxx
                                                            sete.  */
                                                         return 3339;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0100x1xxxxxxxxxx
                                                            cpyfewn.  */
                                                         return 3246;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0100x1xxxxxxxxxx
                                                            setm.  */
                                                         return 3338;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0110011x0xxxxx1100x1xxxxxxxxxx
                                                        cpyfen.  */
                                                     return 3252;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0010x1xxxxxxxxxx
                                                            cpyfert.  */
                                                         return 3267;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0010x1xxxxxxxxxx
                                                            setpn.  */
                                                         return 3343;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx1010x1xxxxxxxxxx
                                                            cpyfertrn.  */
                                                         return 3273;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx1010x1xxxxxxxxxx
                                                            seten.  */
                                                         return 3345;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0110x1xxxxxxxxxx
                                                            cpyfertwn.  */
                                                         return 3270;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0110x1xxxxxxxxxx
                                                            setmn.  */
                                                         return 3344;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0110011x0xxxxx1110x1xxxxxxxxxx
                                                        cpyfertn.  */
                                                     return 3276;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0001x1xxxxxxxxxx
                                                            cpyfewt.  */
                                                         return 3255;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0001x1xxxxxxxxxx
                                                            setpt.  */
                                                         return 3340;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx1001x1xxxxxxxxxx
                                                            cpyfewtrn.  */
                                                         return 3261;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx1001x1xxxxxxxxxx
                                                            setet.  */
                                                         return 3342;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0101x1xxxxxxxxxx
                                                            cpyfewtwn.  */
                                                         return 3258;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0101x1xxxxxxxxxx
                                                            setmt.  */
                                                         return 3341;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0110011x0xxxxx1101x1xxxxxxxxxx
                                                        cpyfewtn.  */
                                                     return 3264;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0011x1xxxxxxxxxx
                                                            cpyfet.  */
                                                         return 3279;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0011x1xxxxxxxxxx
                                                            setptn.  */
                                                         return 3346;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx1011x1xxxxxxxxxx
                                                            cpyfetrn.  */
                                                         return 3285;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx1011x1xxxxxxxxxx
                                                            setetn.  */
                                                         return 3348;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001100xxxxx0111x1xxxxxxxxxx
                                                            cpyfetwn.  */
                                                         return 3282;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011001110xxxxx0111x1xxxxxxxxxx
                                                            setmtn.  */
                                                         return 3347;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx0110011x0xxxxx1111x1xxxxxxxxxx
                                                        cpyfetn.  */
                                                     return 3288;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001101xxxxx0xx001xxxxxxxxxx
                                                            ldtadda.  */
                                                         return 1268;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001101xxxxx1xx001xxxxxxxxxx
                                                            swpta.  */
                                                         return 1263;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001101xxxxxxx0101xxxxxxxxxx
                                                            ldtclra.  */
                                                         return 1274;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001101xxxxxxx1101xxxxxxxxxx
                                                            ldtseta.  */
                                                         return 1280;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00011001101xxxxxxxxx11xxxxxxxxxx
                                                        rcwcaspa.  */
                                                     return 3380;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001101xxxxxxxxx11xxxxxxxxxx
                                                        rcwscaspa.  */
                                                     return 3388;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x011001101xxxxxxxxxx1xxxxxxxxxx
                                                st2g.  */
                                             return 939;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001111xxxxx0xx001xxxxxxxxxx
                                                            ldtaddal.  */
                                                         return 1269;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001111xxxxx1xx001xxxxxxxxxx
                                                            swptal.  */
                                                         return 1264;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001111xxxxxxx0101xxxxxxxxxx
                                                            ldtclral.  */
                                                         return 1275;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x011001111xxxxxxx1101xxxxxxxxxx
                                                            ldtsetal.  */
                                                         return 1281;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        00011001111xxxxxxxxx11xxxxxxxxxx
                                                        rcwcaspal.  */
                                                     return 3381;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        01011001111xxxxxxxxx11xxxxxxxxxx
                                                        rcwscaspal.  */
                                                     return 3389;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                1x011001111xxxxxxxxxx1xxxxxxxxxx
                                                stz2g.  */
                                             return 940;
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        001110011xxxxxxxxxxxxxxxxxxxxxxx
                                        ldrsb.  */
                                     return 943;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        101110011xxxxxxxxxxxxxxxxxxxxxxx
                                        ldrsw.  */
                                     return 951;
                                   }
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        011110011xxxxxxxxxxxxxxxxxxxxxxx
                                        ldrsh.  */
                                     return 948;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        111110011xxxxxxxxxxxxxxxxxxxxxxx
                                        prfm.  */
                                     return 952;
                                   }
                               }
                           }
                       }
                   }
               }
           }
       }
     else
       {
         if (((word >> 24) & 0x1) == 0)
           {
             if (((word >> 27) & 0x1) == 0)
               {
                 if (((word >> 23) & 0x1) == 0)
                   {
                     if (((word >> 29) & 0x1) == 0)
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x00x00100xxxxxxxxxxxxxxxxxxxxxxx
                                and.  */
                             return 1047;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x10x00100xxxxxxxxxxxxxxxxxxxxxxx
                                eor.  */
                             return 1051;
                           }
                       }
                     else
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x01x00100xxxxxxxxxxxxxxxxxxxxxxx
                                orr.  */
                             return 1049;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x11x00100xxxxxxxxxxxxxxxxxxxxxxx
                                ands.  */
                             return 1052;
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 29) & 0x1) == 0)
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x00x00101xxxxxxxxxxxxxxxxxxxxxxx
                                movn.  */
                             return 1314;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x10x00101xxxxxxxxxxxxxxxxxxxxxxx
                                movz.  */
                             return 1316;
                           }
                       }
                     else
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            xx1x00101xxxxxxxxxxxxxxxxxxxxxxx
                            movk.  */
                         return 1318;
                       }
                   }
               }
             else
               {
                 if (((word >> 21) & 0x1) == 0)
                   {
                     if (((word >> 28) & 0x1) == 0)
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x0001010xx0xxxxxxxxxxxxxxxxxxxxx
                                    and.  */
                                 return 1054;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x1001010xx0xxxxxxxxxxxxxxxxxxxxx
                                    eor.  */
                                 return 1061;
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x0101010xx0xxxxxxxxxxxxxxxxxxxxx
                                    orr.  */
                                 return 1056;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x1101010xx0xxxxxxxxxxxxxxxxxxxxx
                                    ands.  */
                                 return 1063;
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 22) & 0x1) == 0)
                           {
                             if (((word >> 23) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 10) & 0x1) == 0)
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 29) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0011010000xxxxxxx0x00xxxxxxxxxx
                                                        adc.  */
                                                     return 0;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011010000xxxxxxx0x00xxxxxxxxxx
                                                        sbc.  */
                                                     return 2;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0111010000xxxxxxx0x00xxxxxxxxxx
                                                        adcs.  */
                                                     return 1;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1111010000xxxxxxx0x00xxxxxxxxxx
                                                        sbcs.  */
                                                     return 4;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010000xxxxxx00x10xxxxxxxxxx
                                                    setf8.  */
                                                 return 3114;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010000xxxxxx10x10xxxxxxxxxx
                                                    setf16.  */
                                                 return 3115;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xxx11010000xxxxxxx0xx1xxxxxxxxxx
                                            rmif.  */
                                         return 3113;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0x11010000xxxxxxx1xxxxxxxxxxxxx
                                            addpt.  */
                                         return 3626;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1x11010000xxxxxxx1xxxxxxxxxxxxx
                                            subpt.  */
                                         return 3627;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0x11010100xxxxxxxxxx0xxxxxxxxxx
                                            csel.  */
                                         return 702;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1x11010100xxxxxxxxxx0xxxxxxxxxx
                                            csinv.  */
                                         return 706;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0x11010100xxxxxxxxxx1xxxxxxxxxx
                                            csinc.  */
                                         return 703;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1x11010100xxxxxxxxxx1xxxxxxxxxx
                                            csneg.  */
                                         return 709;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 10) & 0x1) == 0)
                               {
                                 if (((word >> 11) & 0x1) == 0)
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0x11010010xxxxxxxxx00xxxxxxxxxx
                                                ccmn.  */
                                             return 700;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1x11010010xxxxxxxxx00xxxxxxxxxx
                                                ccmp.  */
                                             return 701;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0011010110xxxxxx00000xxxxxxxxxx
                                                                subp.  */
                                                             return 761;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1011010110xxxx0x00000xxxxxxxxxx
                                                                    rbit.  */
                                                                 return 725;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    x1011010110xxxx1x00000xxxxxxxxxx
                                                                    pacia.  */
                                                                 return 733;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111010110xxxxxx00000xxxxxxxxxx
                                                            subps.  */
                                                         return 762;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0x11010110xxxxxx10000xxxxxxxxxx
                                                            crc32b.  */
                                                         return 767;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x11010110xxxxxx10000xxxxxxxxxx
                                                            xpaci.  */
                                                         return 749;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0x11010110xxxxxx01000xxxxxxxxxx
                                                            lslv.  */
                                                         return 753;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1x11010110xxxx0x01000xxxxxxxxxx
                                                                abs.  */
                                                             return 3366;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1x11010110xxxx1x01000xxxxxxxxxx
                                                                paciza.  */
                                                             return 741;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010110xxxxxx11000xxxxxxxxxx
                                                        smax.  */
                                                     return 3369;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0x11010110xxxxxx00100xxxxxxxxxx
                                                            irg.  */
                                                         return 764;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1x11010110xxxx0x00100xxxxxxxxxx
                                                                clz.  */
                                                             return 730;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1x11010110xxxx1x00100xxxxxxxxxx
                                                                autia.  */
                                                             return 737;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010110xxxxxx10100xxxxxxxxxx
                                                        crc32cb.  */
                                                     return 771;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11010110xxxxxxx1100xxxxxxxxxx
                                                        pacga.  */
                                                     return 766;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x11010110xxxxxxx1100xxxxxxxxxx
                                                        autiza.  */
                                                     return 745;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0x11010010xxxxxxxxx10xxxxxxxxxx
                                                ccmn.  */
                                             return 698;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1x11010010xxxxxxxxx10xxxxxxxxxx
                                                ccmp.  */
                                             return 699;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0x11010110xxxxxx00010xxxxxxxxxx
                                                            udiv.  */
                                                         return 751;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             if (((word >> 31) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01x11010110xxxx0x00010xxxxxxxxxx
                                                                    rev.  */
                                                                 return 727;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    11x11010110xxxx0x00010xxxxxxxxxx
                                                                    rev32.  */
                                                                 return 732;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1x11010110xxxx1x00010xxxxxxxxxx
                                                                pacda.  */
                                                             return 735;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010110xxxxxx10010xxxxxxxxxx
                                                        crc32w.  */
                                                     return 769;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0x11010110xxxxxx01010xxxxxxxxxx
                                                            asrv.  */
                                                         return 757;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x11010110xxxxxx01010xxxxxxxxxx
                                                            pacdza.  */
                                                         return 743;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010110xxxxxx11010xxxxxxxxxx
                                                        smin.  */
                                                     return 3371;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx11010110xxxx0x00110xxxxxxxxxx
                                                            ctz.  */
                                                         return 3368;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx11010110xxxx1x00110xxxxxxxxxx
                                                            autda.  */
                                                         return 739;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010110xxxxxx10110xxxxxxxxxx
                                                        crc32cw.  */
                                                     return 773;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010110xxxxxxx1110xxxxxxxxxx
                                                    autdza.  */
                                                 return 747;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 11) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010x10xxxx0x00001xxxxxxxxxx
                                                        rev16.  */
                                                     return 726;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010x10xxxx1x00001xxxxxxxxxx
                                                        pacib.  */
                                                     return 734;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11010x10xxxxxx10001xxxxxxxxxx
                                                        crc32h.  */
                                                     return 768;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x11010x10xxxxxx10001xxxxxxxxxx
                                                        xpacd.  */
                                                     return 750;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11010x10xxxxxx01001xxxxxxxxxx
                                                        lsrv.  */
                                                     return 755;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x11010x10xxxxxx01001xxxxxxxxxx
                                                        pacizb.  */
                                                     return 742;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010x10xxxxxx11001xxxxxxxxxx
                                                    umax.  */
                                                 return 3370;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11010x10xxxxxx00101xxxxxxxxxx
                                                        gmi.  */
                                                     return 765;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x11010x10xxxx0x00101xxxxxxxxxx
                                                            cls.  */
                                                         return 731;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x11010x10xxxx1x00101xxxxxxxxxx
                                                            autib.  */
                                                         return 738;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010x10xxxxxx10101xxxxxxxxxx
                                                    crc32ch.  */
                                                 return 772;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xxx11010x10xxxxxxx1101xxxxxxxxxx
                                                autizb.  */
                                             return 746;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11010x10xxxxxx00011xxxxxxxxxx
                                                        sdiv.  */
                                                     return 752;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x11010x10xxxx0x00011xxxxxxxxxx
                                                            rev.  */
                                                         return 728;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x11010x10xxxx1x00011xxxxxxxxxx
                                                            pacdb.  */
                                                         return 736;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010x10xxxxxx10011xxxxxxxxxx
                                                    crc32x.  */
                                                 return 770;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11010x10xxxxxx01011xxxxxxxxxx
                                                        rorv.  */
                                                     return 759;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x11010x10xxxxxx01011xxxxxxxxxx
                                                        pacdzb.  */
                                                     return 744;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010x10xxxxxx11011xxxxxxxxxx
                                                    umin.  */
                                                 return 3372;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010x10xxxx0x00111xxxxxxxxxx
                                                        cnt.  */
                                                     return 3367;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11010x10xxxx1x00111xxxxxxxxxx
                                                        autdb.  */
                                                     return 740;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11010x10xxxxxx10111xxxxxxxxxx
                                                    crc32cx.  */
                                                 return 774;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xxx11010x10xxxxxxx1111xxxxxxxxxx
                                                autdzb.  */
                                             return 748;
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 29) & 0x1) == 0)
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x00x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                bic.  */
                             return 1055;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x10x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                eon.  */
                             return 1062;
                           }
                       }
                     else
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x01x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                orn.  */
                             return 1059;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x11x1010xx1xxxxxxxxxxxxxxxxxxxxx
                                bics.  */
                             return 1065;
                           }
                       }
                   }
               }
           }
         else
           {
             if (((word >> 27) & 0x1) == 0)
               {
                 if (((word >> 23) & 0x1) == 0)
                   {
                     if (((word >> 29) & 0x1) == 0)
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x00x00110xxxxxxxxxxxxxxxxxxxxxxx
                                sbfm.  */
                             return 618;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x10x00110xxxxxxxxxxxxxxxxxxxxxxx
                                ubfm.  */
                             return 629;
                           }
                       }
                     else
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            xx1x00110xxxxxxxxxxxxxxxxxxxxxxx
                            bfm.  */
                         return 625;
                       }
                   }
                 else
                   {
                     /* 33222222222211111111110000000000
                        10987654321098765432109876543210
                        xxxx00111xxxxxxxxxxxxxxxxxxxxxxx
                        extr.  */
                     return 798;
                   }
               }
             else
               {
                 if (((word >> 21) & 0x1) == 0)
                   {
                     if (((word >> 28) & 0x1) == 0)
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x0001011xx0xxxxxxxxxxxxxxxxxxxxx
                                    add.  */
                                 return 21;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x1001011xx0xxxxxxxxxxxxxxxxxxxxx
                                    sub.  */
                                 return 24;
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x0101011xx0xxxxxxxxxxxxxxxxxxxxx
                                    adds.  */
                                 return 22;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x1101011xx0xxxxxxxxxxxxxxxxxxxxx
                                    subs.  */
                                 return 26;
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 15) & 0x1) == 0)
                           {
                             if (((word >> 22) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xxx11011x00xxxxx0xxxxxxxxxxxxxxx
                                    madd.  */
                                 return 775;
                               }
                             else
                               {
                                 if (((word >> 23) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xxx11011010xxxxx0xxxxxxxxxxxxxxx
                                        smulh.  */
                                     return 783;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xxx11011110xxxxx0xxxxxxxxxxxxxxx
                                        umulh.  */
                                     return 788;
                                   }
                               }
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                xxx11011xx0xxxxx1xxxxxxxxxxxxxxx
                                msub.  */
                             return 777;
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 22) & 0x1) == 0)
                       {
                         if (((word >> 23) & 0x1) == 0)
                           {
                             if (((word >> 28) & 0x1) == 0)
                               {
                                 if (((word >> 29) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0001011001xxxxxxxxxxxxxxxxxxxxx
                                            add.  */
                                         return 6;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1001011001xxxxxxxxxxxxxxxxxxxxx
                                            sub.  */
                                         return 9;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0101011001xxxxxxxxxxxxxxxxxxxxx
                                            adds.  */
                                         return 7;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1101011001xxxxxxxxxxxxxxxxxxxxx
                                            subs.  */
                                         return 10;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xxx11011001xxxxx0xxxxxxxxxxxxxxx
                                        smaddl.  */
                                     return 779;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xxx11011001xxxxx1xxxxxxxxxxxxxxx
                                        smsubl.  */
                                     return 781;
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xxxx1011101xxxxx0xxxxxxxxxxxxxxx
                                    umaddl.  */
                                 return 784;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xxxx1011101xxxxx1xxxxxxxxxxxxxxx
                                    umsubl.  */
                                 return 786;
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 15) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                xxxx1011x11xxxxx0xxxxxxxxxxxxxxx
                                maddpt.  */
                             return 3628;
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                xxxx1011x11xxxxx1xxxxxxxxxxxxxxx
                                msubpt.  */
                             return 3629;
                           }
                       }
                   }
               }
           }
       }
   }
 else
   {
     if (((word >> 27) & 0x1) == 0)
       {
         if (((word >> 28) & 0x1) == 0)
           {
             if (((word >> 24) & 0x1) == 0)
               {
                 if (((word >> 29) & 0x1) == 0)
                   {
                     if (((word >> 13) & 0x1) == 0)
                       {
                         if (((word >> 14) & 0x1) == 0)
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000000000xxxxxxxxxxxxx
                                                                    add.  */
                                                                 return 1440;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010000000xxxxxxxxxxxxx
                                                                    mul.  */
                                                                 return 1894;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001000000xxxxxxxxxxxxx
                                                                    smax.  */
                                                                 return 1974;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011000000xxxxxxxxxxxxx
                                                                    orr.  */
                                                                 return 1905;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000100000xxxxxxxxxxxxx
                                                                    addpt.  */
                                                                 return 3630;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010100000xxxxxxxxxxxxx
                                                                    sdiv.  */
                                                                 return 1965;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx0x1100000xxxxxxxxxxxxx
                                                                sabd.  */
                                                             return 1956;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx0x0010000xxxxxxxxxxxxx
                                                                smulh.  */
                                                             return 1979;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001010000xxxxxxxxxxxxx
                                                                    smin.  */
                                                                 return 1977;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011010000xxxxxxxxxxxxx
                                                                    and.  */
                                                                 return 1448;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx0xx110000xxxxxxxxxxxxx
                                                            sdivr.  */
                                                         return 1966;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx0x0001000xxxxxxxxxxxxx
                                                                sub.  */
                                                             return 2096;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001001000xxxxxxxxxxxxx
                                                                    umax.  */
                                                                 return 2124;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011001000xxxxxxxxxxxxx
                                                                    eor.  */
                                                                 return 1535;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000101000xxxxxxxxxxxxx
                                                                    subpt.  */
                                                                 return 3632;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010101000xxxxxxxxxxxxx
                                                                    udiv.  */
                                                                 return 2118;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx0x1101000xxxxxxxxxxxxx
                                                                uabd.  */
                                                             return 2109;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000011000xxxxxxxxxxxxx
                                                                    subr.  */
                                                                 return 2098;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010011000xxxxxxxxxxxxx
                                                                    umulh.  */
                                                                 return 2129;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001011000xxxxxxxxxxxxx
                                                                    umin.  */
                                                                 return 2127;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011011000xxxxxxxxxxxxx
                                                                    bic.  */
                                                                 return 1460;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx0xx111000xxxxxxxxxxxxx
                                                            udivr.  */
                                                         return 2119;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x0xxxxx000xxxxxxxxxxxxx
                                                    ld1sb.  */
                                                 return 1722;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x0xxxxx000xxxxxxxxxxxxx
                                                    ld1sh.  */
                                                 return 1733;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx000000xxxxxxxxxx
                                                            sdot.  */
                                                         return 1967;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx000010xxxxxxxxxx
                                                            sqdmlalbt.  */
                                                         return 2318;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx000001xxxxxxxxxx
                                                            udot.  */
                                                         return 2120;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx000011xxxxxxxxxx
                                                            sqdmlslbt.  */
                                                         return 2325;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    010001x0xx0xxxxx0001xxxxxxxxxxxx
                                                    cdot.  */
                                                 return 2207;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x00x0xxxxx000xxxxxxxxxxxxx
                                                    ld1sb.  */
                                                 return 1726;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x0xxxxx000xxxxxxxxxxxxx
                                                    ld1sh.  */
                                                 return 1737;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000000xxxxxxxxxx
                                                            add.  */
                                                         return 1438;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000100xxxxxxxxxx
                                                            sqadd.  */
                                                         return 1981;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000010xxxxxxxxxx
                                                            addpt.  */
                                                         return 3631;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000110xxxxxxxxxx
                                                            sqsub.  */
                                                         return 2011;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000001xxxxxxxxxx
                                                            sub.  */
                                                         return 2094;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000101xxxxxxxxxx
                                                            uqadd.  */
                                                         return 2130;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000011xxxxxxxxxx
                                                            subpt.  */
                                                         return 3633;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx000111xxxxxxxxxx
                                                            uqsub.  */
                                                         return 2160;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x1xxxxx000xxxxxxxxxxxxx
                                                    prfb.  */
                                                 return 1914;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x1xxxxx000xxxxxxxxxxxxx
                                                    ld1sh.  */
                                                 return 1734;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x00x1xxxxx000x00xxxxxxxxxx
                                                            sqrdmlah.  */
                                                         return 2343;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x00x1xxxxx000x10xxxxxxxxxx
                                                            mla.  */
                                                         return 2250;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x00x1xxxxx000x01xxxxxxxxxx
                                                            sqrdmlsh.  */
                                                         return 2347;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x00x1xxxxx000x11xxxxxxxxxx
                                                            mls.  */
                                                         return 2253;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x00x1xxxxx000xxxxxxxxxxxxx
                                                    prfb.  */
                                                 return 1915;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx000000xxxxxxxxxx
                                                                    sdot.  */
                                                                 return 1968;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx000000xxxxxxxxxx
                                                                    sdot.  */
                                                                 return 1969;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx000100xxxxxxxxxx
                                                                    sqrdmlah.  */
                                                                 return 2344;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx000100xxxxxxxxxx
                                                                    sqrdmlah.  */
                                                                 return 2345;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx000010xxxxxxxxxx
                                                                    mla.  */
                                                                 return 2251;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx000010xxxxxxxxxx
                                                                    mla.  */
                                                                 return 2252;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x01x1xxxxx000110xxxxxxxxxx
                                                                usdot.  */
                                                             return 3193;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx000001xxxxxxxxxx
                                                                    udot.  */
                                                                 return 2121;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx000001xxxxxxxxxx
                                                                    udot.  */
                                                                 return 2122;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx000101xxxxxxxxxx
                                                                    sqrdmlsh.  */
                                                                 return 2348;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx000101xxxxxxxxxx
                                                                    sqrdmlsh.  */
                                                                 return 2349;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx000011xxxxxxxxxx
                                                                    mls.  */
                                                                 return 2254;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx000011xxxxxxxxxx
                                                                    mls.  */
                                                                 return 2255;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x01x1xxxxx000111xxxxxxxxxx
                                                                sudot.  */
                                                             return 3194;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x1xxxxx000xxxxxxxxxxxxx
                                                    ld1sh.  */
                                                 return 1738;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 16) & 0x1) == 0)
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx000000100xxxxxxxxxxxxx
                                                                asr.  */
                                                             return 1456;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010000100xxxxxxxxxxxxx
                                                                    asr.  */
                                                                 return 1454;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx010000100xxxxxxxxxxxxx
                                                                    shadd.  */
                                                                 return 2284;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx001000100xxxxxxxxxxxxx
                                                                sqshl.  */
                                                             return 2362;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011000100xxxxxxxxxxxxx
                                                                    asr.  */
                                                                 return 1455;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx011000100xxxxxxxxxxxxx
                                                                    sqadd.  */
                                                                 return 2313;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx000100100xxxxxxxxxxxxx
                                                                asrd.  */
                                                             return 1457;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010100100xxxxxxxxxxxxx
                                                                    asrr.  */
                                                                 return 1458;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx010100100xxxxxxxxxxxxx
                                                                    srhadd.  */
                                                                 return 2375;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001100100xxxxxxxxxxxxx
                                                                    srshr.  */
                                                                 return 2379;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx001100100xxxxxxxxxxxxx
                                                                    sqshlr.  */
                                                                 return 2363;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx011100100xxxxxxxxxxxxx
                                                                suqadd.  */
                                                             return 2399;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx000010100xxxxxxxxxxxxx
                                                                srshl.  */
                                                             return 2377;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx010010100xxxxxxxxxxxxx
                                                                shsub.  */
                                                             return 2287;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx001010100xxxxxxxxxxxxx
                                                                sqrshl.  */
                                                             return 2355;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx011010100xxxxxxxxxxxxx
                                                                sqsub.  */
                                                             return 2369;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000110100xxxxxxxxxxxxx
                                                                    sqshl.  */
                                                                 return 2361;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx000110100xxxxxxxxxxxxx
                                                                    srshlr.  */
                                                                 return 2378;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx010110100xxxxxxxxxxxxx
                                                                shsubr.  */
                                                             return 2288;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx001110100xxxxxxxxxxxxx
                                                                sqrshlr.  */
                                                             return 2356;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx011110100xxxxxxxxxxxxx
                                                                sqsubr.  */
                                                             return 2370;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx000001100xxxxxxxxxxxxx
                                                                lsr.  */
                                                             return 1885;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010001100xxxxxxxxxxxxx
                                                                    lsr.  */
                                                                 return 1883;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx010001100xxxxxxxxxxxxx
                                                                    uhadd.  */
                                                                 return 2412;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx001001100xxxxxxxxxxxxx
                                                                uqshl.  */
                                                             return 2442;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011001100xxxxxxxxxxxxx
                                                                    lsr.  */
                                                                 return 1884;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx011001100xxxxxxxxxxxxx
                                                                    uqadd.  */
                                                                 return 2436;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx0x0101100xxxxxxxxxxxxx
                                                                lsrr.  */
                                                             return 1886;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x0101100xxxxxxxxxxxxx
                                                                urhadd.  */
                                                             return 2451;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001101100xxxxxxxxxxxxx
                                                                    urshr.  */
                                                                 return 2454;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx001101100xxxxxxxxxxxxx
                                                                    uqshlr.  */
                                                                 return 2443;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx011101100xxxxxxxxxxxxx
                                                                usqadd.  */
                                                             return 2459;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000011100xxxxxxxxxxxxx
                                                                    lsl.  */
                                                                 return 1879;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx000011100xxxxxxxxxxxxx
                                                                    urshl.  */
                                                                 return 2452;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010011100xxxxxxxxxxxxx
                                                                    lsl.  */
                                                                 return 1877;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx010011100xxxxxxxxxxxxx
                                                                    uhsub.  */
                                                                 return 2413;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx001011100xxxxxxxxxxxxx
                                                                uqrshl.  */
                                                             return 2437;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011011100xxxxxxxxxxxxx
                                                                    lsl.  */
                                                                 return 1878;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx011011100xxxxxxxxxxxxx
                                                                    uqsub.  */
                                                                 return 2446;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000111100xxxxxxxxxxxxx
                                                                    uqshl.  */
                                                                 return 2441;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx000111100xxxxxxxxxxxxx
                                                                    urshlr.  */
                                                                 return 2453;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010111100xxxxxxxxxxxxx
                                                                    lslr.  */
                                                                 return 1880;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx010111100xxxxxxxxxxxxx
                                                                    uhsubr.  */
                                                                 return 2414;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001111100xxxxxxxxxxxxx
                                                                    sqshlu.  */
                                                                 return 2364;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx001111100xxxxxxxxxxxxx
                                                                    uqrshlr.  */
                                                                 return 2438;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0001x0xx011111100xxxxxxxxxxxxx
                                                                uqsubr.  */
                                                             return 2447;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 10) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x0xx1xxxxx1000x0xxxxxxxxxx
                                                        asr.  */
                                                     return 1452;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x01xxxxx1000x0xxxxxxxxxx
                                                            smlalb.  */
                                                         return 2292;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x11xxxxx1000x0xxxxxxxxxx
                                                            smlalb.  */
                                                         return 2293;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x0xx1xxxxx1001x0xxxxxxxxxx
                                                        asr.  */
                                                     return 1453;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x01xxxxx1001x0xxxxxxxxxx
                                                            umlalb.  */
                                                         return 2417;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x11xxxxx1001x0xxxxxxxxxx
                                                            umlalb.  */
                                                         return 2418;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx100001xxxxxxxxxx
                                                            lsr.  */
                                                         return 1881;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx100011xxxxxxxxxx
                                                            lsl.  */
                                                         return 1875;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x01xxxxx1000x1xxxxxxxxxx
                                                            smlalt.  */
                                                         return 2295;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x11xxxxx1000x1xxxxxxxxxx
                                                            smlalt.  */
                                                         return 2296;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx100101xxxxxxxxxx
                                                            lsr.  */
                                                         return 1882;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx100111xxxxxxxxxx
                                                            lsl.  */
                                                         return 1876;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x01xxxxx1001x1xxxxxxxxxx
                                                            umlalt.  */
                                                         return 2420;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0x11xxxxx1001x1xxxxxxxxxx
                                                            umlalt.  */
                                                         return 2421;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x0001x0000xxxxx100xxxxxxxxxxxxx
                                                    ldnt1sb.  */
                                                 return 2244;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x0001x0100xxxxx100xxxxxxxxxxxxx
                                                    ldnt1sh.  */
                                                 return 2245;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0001xxxxx100xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1728;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0001xxxxx100xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1732;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0101xxxxx100xxxxxxxxxxxxx
                                                        ld1sh.  */
                                                     return 1741;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0101xxxxx100xxxxxxxxxxxxx
                                                        ld1sh.  */
                                                     return 1744;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x001xxxxxx100xxxxxxxxxxxxx
                                                    ld1rb.  */
                                                 return 1698;
                                               }
                                             else
                                               {
                                                 if (((word >> 21) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0010xxxxx100xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1727;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0011xxxxx100xxxxxxxxxxxxx
                                                        prfb.  */
                                                     return 1916;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x011xxxxxx100xxxxxxxxxxxxx
                                                    ld1rsw.  */
                                                 return 1719;
                                               }
                                             else
                                               {
                                                 if (((word >> 21) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0110xxxxx100xxxxxxxxxxxxx
                                                        ld1sh.  */
                                                     return 1739;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0111xxxxx100xxxxxxxxxxxxx
                                                        ld1sh.  */
                                                     return 1740;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x0xx0xxxxx010xxxxxxxxxxxxx
                                                mla.  */
                                             return 1888;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x0xxxxx010xxxxxxxxxxxxx
                                                    ld1b.  */
                                                 return 1664;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x0xxxxx010xxxxxxxxxxxxx
                                                    ld1h.  */
                                                 return 1684;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010000xxxxxxxxxx
                                                            smlalb.  */
                                                         return 2294;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010100xxxxxxxxxx
                                                            smlslb.  */
                                                         return 2300;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010010xxxxxxxxxx
                                                            umlalb.  */
                                                         return 2419;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010110xxxxxxxxxx
                                                            umlslb.  */
                                                         return 2425;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010001xxxxxxxxxx
                                                            smlalt.  */
                                                         return 2297;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010101xxxxxxxxxx
                                                            smlslt.  */
                                                         return 2303;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010011xxxxxxxxxx
                                                            umlalt.  */
                                                         return 2422;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx010111xxxxxxxxxx
                                                            umlslt.  */
                                                         return 2428;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x00x0xxxxx010xxxxxxxxxxxxx
                                                    ld1b.  */
                                                 return 1669;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x0xxxxx010xxxxxxxxxxxxx
                                                    ld1h.  */
                                                 return 1689;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx010000xxxxxxxxxx
                                                            index.  */
                                                         return 1655;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx010001xxxxxxxxxx
                                                            index.  */
                                                         return 1656;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0001xxxxx01010xxxxxxxxxxx
                                                                addvl.  */
                                                             return 1442;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0101xxxxx01010xxxxxxxxxxx
                                                                rdvl.  */
                                                             return 1950;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0x11xxxxx01010xxxxxxxxxxx
                                                            addpl.  */
                                                         return 1441;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx010010xxxxxxxxxx
                                                            index.  */
                                                         return 1657;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx010011xxxxxxxxxx
                                                            index.  */
                                                         return 1654;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0001xxxxx01011xxxxxxxxxxx
                                                                addsvl.  */
                                                             return 2501;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0101xxxxx01011xxxxxxxxxxx
                                                                rdsvl.  */
                                                             return 2512;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0x11xxxxx01011xxxxxxxxxxx
                                                            addspl.  */
                                                         return 2500;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x1xxxxx010xxxxxxxxxxxxx
                                                    prfw.  */
                                                 return 1934;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x1xxxxx010xxxxxxxxxxxxx
                                                    ld1h.  */
                                                 return 1685;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x10001x00x1xxxxx010xxxxxxxxxxxxx
                                                prfw.  */
                                             return 1936;
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x0101xxxxx010xxxxxxxxxxxxx
                                                        cdot.  */
                                                     return 2209;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x0111xxxxx010xxxxxxxxxxxxx
                                                        cdot.  */
                                                     return 2208;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x1xxxxx010xxxxxxxxxxxxx
                                                    ld1h.  */
                                                 return 1690;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 30) & 0x1) == 0)
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x0xx0xxxxx110xxxxxxxxxxxxx
                                                mad.  */
                                             return 1887;
                                           }
                                         else
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0x010xxxx110x00xxxxxxxxxx
                                                                sqincw.  */
                                                             return 2008;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00110xxxx110x00xxxxxxxxxx
                                                                    sqinch.  */
                                                                 return 2002;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01110xxxx110x00xxxxxxxxxx
                                                                    sqincd.  */
                                                                 return 1999;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0x011xxxx110x00xxxxxxxxxx
                                                                incw.  */
                                                             return 1652;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00111xxxx110x00xxxxxxxxxx
                                                                    inch.  */
                                                                 return 1648;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01111xxxx110x00xxxxxxxxxx
                                                                    incd.  */
                                                                 return 1646;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0x01xxxxx110x10xxxxxxxxxx
                                                            sqdecw.  */
                                                         return 1994;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0011xxxxx110x10xxxxxxxxxx
                                                                sqdech.  */
                                                             return 1988;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0111xxxxx110x10xxxxxxxxxx
                                                                sqdecd.  */
                                                             return 1985;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0x010xxxx110x01xxxxxxxxxx
                                                                uqincw.  */
                                                             return 2157;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00110xxxx110x01xxxxxxxxxx
                                                                    uqinch.  */
                                                                 return 2151;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01110xxxx110x01xxxxxxxxxx
                                                                    uqincd.  */
                                                                 return 2148;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0x011xxxx110x01xxxxxxxxxx
                                                                decw.  */
                                                             return 1527;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00111xxxx110x01xxxxxxxxxx
                                                                    dech.  */
                                                                 return 1523;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01111xxxx110x01xxxxxxxxxx
                                                                    decd.  */
                                                                 return 1521;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0x01xxxxx110x11xxxxxxxxxx
                                                            uqdecw.  */
                                                         return 2143;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0011xxxxx110x11xxxxxxxxxx
                                                                uqdech.  */
                                                             return 2137;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0111xxxxx110x11xxxxxxxxxx
                                                                uqdecd.  */
                                                             return 2134;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0000xxxxx110xxxxxxxxxxxxx
                                                        prfb.  */
                                                     return 1913;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0100xxxxx110xxxxxxxxxxxxx
                                                        prfh.  */
                                                     return 1928;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0001xxxxx110xxxxxxxxxxxxx
                                                        ld1b.  */
                                                     return 1671;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0101xxxxx110xxxxxxxxxxxxx
                                                        ld1h.  */
                                                     return 1693;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x001xxxxxx110xxxxxxxxxxxxx
                                                    ld1rb.  */
                                                 return 1700;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x011xxxxxx110xxxxxxxxxxxxx
                                                    ld1rh.  */
                                                 return 1704;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx110000xxxxxxxxxx
                                                            sclamp.  */
                                                         return 2547;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx110100xxxxxxxxxx
                                                            mlapt.  */
                                                         return 3635;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x00x0xxxxx110010xxxxxxxxxx
                                                                sdot.  */
                                                             return 2560;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x01x0xxxxx110010xxxxxxxxxx
                                                                sdot.  */
                                                             return 2559;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx110110xxxxxxxxxx
                                                            madpt.  */
                                                         return 3634;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x0xx0xxxxx110x01xxxxxxxxxx
                                                        uclamp.  */
                                                     return 2548;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x00x0xxxxx110x11xxxxxxxxxx
                                                            udot.  */
                                                         return 2566;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x01x0xxxxx110x11xxxxxxxxxx
                                                            udot.  */
                                                         return 2565;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0000xxxxx110xxxxxxxxxxxxx
                                                        ldnt1b.  */
                                                     return 2240;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0100xxxxx110xxxxxxxxxxxxx
                                                        ldnt1h.  */
                                                     return 2243;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0010xxxxx110xxxxxxxxxxxxx
                                                        ld1b.  */
                                                     return 1670;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0110xxxxx110xxxxxxxxxxxxx
                                                        ld1h.  */
                                                     return 1691;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x0001xxxxx110xxxxxxxxxxxxx
                                                    ld1b.  */
                                                 return 1676;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1100x0xxxxxxxxxx
                                                                smullb.  */
                                                             return 2305;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1101x0xxxxxxxxxx
                                                                umullb.  */
                                                             return 2430;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1100x1xxxxxxxxxx
                                                                smullt.  */
                                                             return 2308;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1101x1xxxxxxxxxx
                                                                umullt.  */
                                                             return 2433;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0101xxxxx110xxxxxxxxxxxxx
                                                        ld1h.  */
                                                     return 1697;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x0011xxxxx110xxxxxxxxxxxxx
                                                    prfw.  */
                                                 return 1937;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1100x0xxxxxxxxxx
                                                                smullb.  */
                                                             return 2306;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1101x0xxxxxxxxxx
                                                                umullb.  */
                                                             return 2431;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1100x1xxxxxxxxxx
                                                                smullt.  */
                                                             return 2309;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1101x1xxxxxxxxxx
                                                                umullt.  */
                                                             return 2434;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0111xxxxx110xxxxxxxxxxxxx
                                                        ld1h.  */
                                                     return 1692;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 14) & 0x1) == 0)
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000000001xxxxxxxxxxxxx
                                                                    saddv.  */
                                                                 return 1957;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000001001xxxxxxxxxxxxx
                                                                    uaddv.  */
                                                                 return 2110;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx01000x001xxxxxxxxxxxxx
                                                                movprfx.  */
                                                             return 1891;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001000001xxxxxxxxxxxxx
                                                                    smaxv.  */
                                                                 return 1975;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011000001xxxxxxxxxxxxx
                                                                    orv.  */
                                                                 return 1908;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001001001xxxxxxxxxxxxx
                                                                    umaxv.  */
                                                                 return 2125;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011001001xxxxxxxxxxxxx
                                                                    eorv.  */
                                                                 return 1538;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx00x100001xxxxxxxxxxxxx
                                                                smaxqv.  */
                                                             return 3536;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx01x100001xxxxxxxxxxxxx
                                                                orqv.  */
                                                             return 3547;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx0x0101001xxxxxxxxxxxxx
                                                                addqv.  */
                                                             return 3534;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001101001xxxxxxxxxxxxx
                                                                    umaxqv.  */
                                                                 return 3538;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011101001xxxxxxxxxxxxx
                                                                    eorqv.  */
                                                                 return 3540;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx00x010001xxxxxxxxxxxxx
                                                                sminv.  */
                                                             return 1978;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx01x010001xxxxxxxxxxxxx
                                                                andv.  */
                                                             return 1451;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx00x110001xxxxxxxxxxxxx
                                                                sminqv.  */
                                                             return 3537;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx01x110001xxxxxxxxxxxxx
                                                                andqv.  */
                                                             return 3535;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx0xx011001xxxxxxxxxxxxx
                                                            uminv.  */
                                                         return 2128;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx0xx111001xxxxxxxxxxxxx
                                                            uminqv.  */
                                                         return 3539;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x0xxxxx001xxxxxxxxxxxxx
                                                    ldff1sb.  */
                                                 return 1814;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x0xxxxx001xxxxxxxxxxxxx
                                                    ldff1sh.  */
                                                 return 1822;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    010001x0xx0xxxxx0010xxxxxxxxxxxx
                                                    cmla.  */
                                                 return 2210;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    010001x0xx0xxxxx0011xxxxxxxxxxxx
                                                    sqrdcmlah.  */
                                                 return 2342;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x00x0xxxxx001xxxxxxxxxxxxx
                                                    ldff1sb.  */
                                                 return 1818;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x0xxxxx001xxxxxxxxxxxxx
                                                    ldff1sh.  */
                                                 return 1826;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0001xxxxx001x00xxxxxxxxxx
                                                                and.  */
                                                             return 1446;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0101xxxxx001x00xxxxxxxxxx
                                                                eor.  */
                                                             return 1533;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0011xxxxx001x00xxxxxxxxxx
                                                                orr.  */
                                                             return 1903;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0111xxxxx001x00xxxxxxxxxx
                                                                bic.  */
                                                             return 1459;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0x01xxxxx001x10xxxxxxxxxx
                                                            eor3.  */
                                                         return 2213;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0x11xxxxx001x10xxxxxxxxxx
                                                            bcax.  */
                                                         return 2202;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x0xx1xxxxx001x01xxxxxxxxxx
                                                        xar.  */
                                                     return 2475;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0001xxxxx001x11xxxxxxxxxx
                                                                bsl.  */
                                                             return 2203;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0101xxxxx001x11xxxxxxxxxx
                                                                bsl2n.  */
                                                             return 2205;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0011xxxxx001x11xxxxxxxxxx
                                                                bsl1n.  */
                                                             return 2204;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0111xxxxx001x11xxxxxxxxxx
                                                                nbsl.  */
                                                             return 2260;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x1xxxxx001xxxxxxxxxxxxx
                                                    prfh.  */
                                                 return 1927;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x1xxxxx001xxxxxxxxxxxxx
                                                    ldff1sh.  */
                                                 return 1823;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x10001x00x1xxxxx001xxxxxxxxxxxxx
                                                prfh.  */
                                             return 1929;
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx0010x0xxxxxxxxxx
                                                                sqdmlalb.  */
                                                             return 2315;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx0010x0xxxxxxxxxx
                                                                sqdmlalb.  */
                                                             return 2316;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx0011x0xxxxxxxxxx
                                                                sqdmlslb.  */
                                                             return 2322;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx0011x0xxxxxxxxxx
                                                                sqdmlslb.  */
                                                             return 2323;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx0010x1xxxxxxxxxx
                                                                sqdmlalt.  */
                                                             return 2319;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx0010x1xxxxxxxxxx
                                                                sqdmlalt.  */
                                                             return 2320;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx0011x1xxxxxxxxxx
                                                                sqdmlslt.  */
                                                             return 2326;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx0011x1xxxxxxxxxx
                                                                sqdmlslt.  */
                                                             return 2327;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x1xxxxx001xxxxxxxxxxxxx
                                                    ldff1sh.  */
                                                 return 1827;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 30) & 0x1) == 0)
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000000101xxxxxxxxxxxxx
                                                                    sxtb.  */
                                                                 return 3790;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010000101xxxxxxxxxxxxx
                                                                    sxtb.  */
                                                                 return 2101;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001000101xxxxxxxxxxxxx
                                                                    cls.  */
                                                                 return 3720;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011000101xxxxxxxxxxxxx
                                                                    cls.  */
                                                                 return 1479;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000100101xxxxxxxxxxxxx
                                                                    sxtw.  */
                                                                 return 3792;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010100101xxxxxxxxxxxxx
                                                                    sxtw.  */
                                                                 return 2103;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001100101xxxxxxxxxxxxx
                                                                    fabs.  */
                                                                 return 3726;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011100101xxxxxxxxxxxxx
                                                                    fabs.  */
                                                                 return 1541;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000010101xxxxxxxxxxxxx
                                                                    sxth.  */
                                                                 return 3791;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010010101xxxxxxxxxxxxx
                                                                    sxth.  */
                                                                 return 2102;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001010101xxxxxxxxxxxxx
                                                                    cnt.  */
                                                                 return 3723;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011010101xxxxxxxxxxxxx
                                                                    cnt.  */
                                                                 return 1508;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000110101xxxxxxxxxxxxx
                                                                    abs.  */
                                                                 return 3717;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010110101xxxxxxxxxxxxx
                                                                    abs.  */
                                                                 return 1437;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001110101xxxxxxxxxxxxx
                                                                    not.  */
                                                                 return 3775;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011110101xxxxxxxxxxxxx
                                                                    not.  */
                                                                 return 1900;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000001101xxxxxxxxxxxxx
                                                                    uxtb.  */
                                                                 return 3802;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010001101xxxxxxxxxxxxx
                                                                    uxtb.  */
                                                                 return 2164;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001001101xxxxxxxxxxxxx
                                                                    clz.  */
                                                                 return 3721;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011001101xxxxxxxxxxxxx
                                                                    clz.  */
                                                                 return 1480;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000101101xxxxxxxxxxxxx
                                                                    uxtw.  */
                                                                 return 3804;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010101101xxxxxxxxxxxxx
                                                                    uxtw.  */
                                                                 return 2166;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001101101xxxxxxxxxxxxx
                                                                    fneg.  */
                                                                 return 3755;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011101101xxxxxxxxxxxxx
                                                                    fneg.  */
                                                                 return 1618;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx000011101xxxxxxxxxxxxx
                                                                    uxth.  */
                                                                 return 3803;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx010011101xxxxxxxxxxxxx
                                                                    uxth.  */
                                                                 return 2165;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx001011101xxxxxxxxxxxxx
                                                                    cnot.  */
                                                                 return 3722;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0xx011011101xxxxxxxxxxxxx
                                                                    cnot.  */
                                                                 return 1507;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx00x111101xxxxxxxxxxxxx
                                                                neg.  */
                                                             return 3774;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x0xx01x111101xxxxxxxxxxxxx
                                                                neg.  */
                                                             return 1897;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0001xxxxx1010xxxxxxxxxxxx
                                                            adr.  */
                                                         return 1443;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0011xxxxx1010xxxxxxxxxxxx
                                                            adr.  */
                                                         return 1444;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x01x1xxxxx1010xxxxxxxxxxxx
                                                        adr.  */
                                                     return 1445;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx101100xxxxxxxxxx
                                                            ftssel.  */
                                                         return 1644;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx101110xxxxxxxxxx
                                                            fexpa.  */
                                                         return 1588;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x0xx1xxxxx1011x1xxxxxxxxxx
                                                        movprfx.  */
                                                     return 1890;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0000xxxxx101xxxxxxxxxxxxx
                                                        ldnt1b.  */
                                                     return 2239;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0100xxxxx101xxxxxxxxxxxxx
                                                        ldnt1h.  */
                                                     return 2242;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0001xxxxx101xxxxxxxxxxxxx
                                                        ldff1sb.  */
                                                     return 1820;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0101xxxxx101xxxxxxxxxxxxx
                                                        ldff1sh.  */
                                                     return 1830;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x001xxxxxx101xxxxxxxxxxxxx
                                                    ld1rb.  */
                                                 return 1699;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x011xxxxxx101xxxxxxxxxxxxx
                                                    ld1rh.  */
                                                 return 1703;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x0000101xxxxxxxxxxxxx
                                                                urecpe.  */
                                                             return 2450;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x1000101xxxxxxxxxxxxx
                                                                sqabs.  */
                                                             return 2312;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx00x100101xxxxxxxxxxxxx
                                                                sadalp.  */
                                                             return 2276;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx01x100101xxxxxxxxxxxxx
                                                                smaxp.  */
                                                             return 2290;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x0010101xxxxxxxxxxxxx
                                                                urecpe.  */
                                                             return 3800;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x1010101xxxxxxxxxxxxx
                                                                sqabs.  */
                                                             return 3788;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xx110101xxxxxxxxxxxxx
                                                            sminp.  */
                                                         return 2291;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx000001101xxxxxxxxxxxxx
                                                                    ursqrte.  */
                                                                 return 2455;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0xx010001101xxxxxxxxxxxxx
                                                                    addp.  */
                                                                 return 2201;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x1001101xxxxxxxxxxxxx
                                                                sqneg.  */
                                                             return 2339;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx00x101101xxxxxxxxxxxxx
                                                                uadalp.  */
                                                             return 2407;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx01x101101xxxxxxxxxxxxx
                                                                umaxp.  */
                                                             return 2415;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x0011101xxxxxxxxxxxxx
                                                                ursqrte.  */
                                                             return 3801;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0xx0x1011101xxxxxxxxxxxxx
                                                                sqneg.  */
                                                             return 3789;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xx111101xxxxxxxxxxxxx
                                                            uminp.  */
                                                         return 2416;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x0x00xxxxx101xxxxxxxxxxxxx
                                                    ld1q.  */
                                                 return 3571;
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0010xxxxx101xxxxxxxxxxxxx
                                                        ldff1sb.  */
                                                     return 1819;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0110xxxxx101xxxxxxxxxxxxx
                                                        ldff1sh.  */
                                                     return 1828;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x0001xxxxx101xxxxxxxxxxxxx
                                                    ldff1sb.  */
                                                 return 1821;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1010x0xxxxxxxxxx
                                                                smlslb.  */
                                                             return 2298;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1011x0xxxxxxxxxx
                                                                umlslb.  */
                                                             return 2423;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1010x1xxxxxxxxxx
                                                                smlslt.  */
                                                             return 2301;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1011x1xxxxxxxxxx
                                                                umlslt.  */
                                                             return 2426;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0101xxxxx101xxxxxxxxxxxxx
                                                        ldff1sh.  */
                                                     return 1831;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x0011xxxxx101xxxxxxxxxxxxx
                                                    prfh.  */
                                                 return 1930;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1010x0xxxxxxxxxx
                                                                smlslb.  */
                                                             return 2299;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1011x0xxxxxxxxxx
                                                                umlslb.  */
                                                             return 2424;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1010x1xxxxxxxxxx
                                                                smlslt.  */
                                                             return 2302;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1011x1xxxxxxxxxx
                                                                umlslt.  */
                                                             return 2427;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0111xxxxx101xxxxxxxxxxxxx
                                                        ldff1sh.  */
                                                     return 1829;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 15) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x0xx0xxxxx011xxxxxxxxxxxxx
                                                mls.  */
                                             return 1889;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x0xxxxx011xxxxxxxxxxxxx
                                                    ldff1b.  */
                                                 return 1788;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x0xxxxx011xxxxxxxxxxxxx
                                                    ldff1h.  */
                                                 return 1803;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx011000xxxxxxxxxx
                                                            sqdmlalb.  */
                                                         return 2317;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx011100xxxxxxxxxx
                                                            sqrdmlah.  */
                                                         return 2346;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx011010xxxxxxxxxx
                                                            sqdmlslb.  */
                                                         return 2324;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx011110xxxxxxxxxx
                                                            usdot.  */
                                                         return 3192;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx011001xxxxxxxxxx
                                                            sqdmlalt.  */
                                                         return 2321;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx011101xxxxxxxxxx
                                                            sqrdmlsh.  */
                                                         return 2350;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x0xx0xxxxx011x11xxxxxxxxxx
                                                        sqdmlslt.  */
                                                     return 2328;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x00x0xxxxx011xxxxxxxxxxxxx
                                                    ldff1b.  */
                                                 return 1793;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x0xxxxx011xxxxxxxxxxxxx
                                                    ldff1h.  */
                                                 return 1808;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx011000xxxxxxxxxx
                                                            mul.  */
                                                         return 2259;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx011100xxxxxxxxxx
                                                            sqdmulh.  */
                                                         return 2332;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x0xx1xxxxx011x10xxxxxxxxxx
                                                        smulh.  */
                                                     return 2304;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx011001xxxxxxxxxx
                                                            pmul.  */
                                                         return 2262;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x0xx1xxxxx011101xxxxxxxxxx
                                                            sqrdmulh.  */
                                                         return 2354;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x0xx1xxxxx011x11xxxxxxxxxx
                                                        umulh.  */
                                                     return 2429;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x00x1xxxxx011xxxxxxxxxxxxx
                                                    prfd.  */
                                                 return 1920;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x01x1xxxxx011xxxxxxxxxxxxx
                                                    ldff1h.  */
                                                 return 1804;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x10001x00x1xxxxx011xxxxxxxxxxxxx
                                                prfd.  */
                                             return 1922;
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0101xxxxx0110xxxxxxxxxxxx
                                                            cmla.  */
                                                         return 2211;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0111xxxxx0110xxxxxxxxxxxx
                                                            cmla.  */
                                                         return 2212;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0101xxxxx0111xxxxxxxxxxxx
                                                            sqrdcmlah.  */
                                                         return 2340;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0111xxxxx0111xxxxxxxxxxxx
                                                            sqrdcmlah.  */
                                                         return 2341;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x01x1xxxxx011xxxxxxxxxxxxx
                                                    ldff1h.  */
                                                 return 1809;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 30) & 0x1) == 0)
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x0xx0xxxxx111xxxxxxxxxxxxx
                                                msb.  */
                                             return 1892;
                                           }
                                         else
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00010xxxx111000xxxxxxxxxx
                                                                        cntb.  */
                                                                     return 1509;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01010xxxx111000xxxxxxxxxx
                                                                        cntw.  */
                                                                     return 1513;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00110xxxx111000xxxxxxxxxx
                                                                        cnth.  */
                                                                     return 1511;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01110xxxx111000xxxxxxxxxx
                                                                        cntd.  */
                                                                     return 1510;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00011xxxx111000xxxxxxxxxx
                                                                        incb.  */
                                                                     return 1645;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01011xxxx111000xxxxxxxxxx
                                                                        incw.  */
                                                                     return 1653;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00111xxxx111000xxxxxxxxxx
                                                                        inch.  */
                                                                     return 1649;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01111xxxx111000xxxxxxxxxx
                                                                        incd.  */
                                                                     return 1647;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00010xxxx111100xxxxxxxxxx
                                                                        sqincb.  */
                                                                     return 1998;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01010xxxx111100xxxxxxxxxx
                                                                        sqincw.  */
                                                                     return 2010;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00110xxxx111100xxxxxxxxxx
                                                                        sqinch.  */
                                                                     return 2004;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01110xxxx111100xxxxxxxxxx
                                                                        sqincd.  */
                                                                     return 2001;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00011xxxx111100xxxxxxxxxx
                                                                        sqincb.  */
                                                                     return 1997;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01011xxxx111100xxxxxxxxxx
                                                                        sqincw.  */
                                                                     return 2009;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00111xxxx111100xxxxxxxxxx
                                                                        sqinch.  */
                                                                     return 2003;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01111xxxx111100xxxxxxxxxx
                                                                        sqincd.  */
                                                                     return 2000;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00010xxxx111x10xxxxxxxxxx
                                                                    sqdecb.  */
                                                                 return 1984;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01010xxxx111x10xxxxxxxxxx
                                                                    sqdecw.  */
                                                                 return 1996;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00110xxxx111x10xxxxxxxxxx
                                                                    sqdech.  */
                                                                 return 1990;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01110xxxx111x10xxxxxxxxxx
                                                                    sqdecd.  */
                                                                 return 1987;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00011xxxx111x10xxxxxxxxxx
                                                                    sqdecb.  */
                                                                 return 1983;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01011xxxx111x10xxxxxxxxxx
                                                                    sqdecw.  */
                                                                 return 1995;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00111xxxx111x10xxxxxxxxxx
                                                                    sqdech.  */
                                                                 return 1989;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01111xxxx111x10xxxxxxxxxx
                                                                    sqdecd.  */
                                                                 return 1986;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0001xxxxx111001xxxxxxxxxx
                                                                    decb.  */
                                                                 return 1520;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0101xxxxx111001xxxxxxxxxx
                                                                    decw.  */
                                                                 return 1528;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0011xxxxx111001xxxxxxxxxx
                                                                    dech.  */
                                                                 return 1524;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x0111xxxxx111001xxxxxxxxxx
                                                                    decd.  */
                                                                 return 1522;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00010xxxx111101xxxxxxxxxx
                                                                        uqincb.  */
                                                                     return 2146;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01010xxxx111101xxxxxxxxxx
                                                                        uqincw.  */
                                                                     return 2158;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00110xxxx111101xxxxxxxxxx
                                                                        uqinch.  */
                                                                     return 2152;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01110xxxx111101xxxxxxxxxx
                                                                        uqincd.  */
                                                                     return 2149;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00011xxxx111101xxxxxxxxxx
                                                                        uqincb.  */
                                                                     return 2147;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01011xxxx111101xxxxxxxxxx
                                                                        uqincw.  */
                                                                     return 2159;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x00111xxxx111101xxxxxxxxxx
                                                                        uqinch.  */
                                                                     return 2153;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x01111xxxx111101xxxxxxxxxx
                                                                        uqincd.  */
                                                                     return 2150;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00010xxxx111x11xxxxxxxxxx
                                                                    uqdecb.  */
                                                                 return 2132;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01010xxxx111x11xxxxxxxxxx
                                                                    uqdecw.  */
                                                                 return 2144;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00110xxxx111x11xxxxxxxxxx
                                                                    uqdech.  */
                                                                 return 2138;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01110xxxx111x11xxxxxxxxxx
                                                                    uqdecd.  */
                                                                 return 2135;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00011xxxx111x11xxxxxxxxxx
                                                                    uqdecb.  */
                                                                 return 2133;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01011xxxx111x11xxxxxxxxxx
                                                                    uqdecw.  */
                                                                 return 2145;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x00111xxxx111x11xxxxxxxxxx
                                                                    uqdech.  */
                                                                 return 2139;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x01111xxxx111x11xxxxxxxxxx
                                                                    uqdecd.  */
                                                                 return 2136;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0000xxxxx111xxxxxxxxxxxxx
                                                        prfb.  */
                                                     return 1917;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0100xxxxx111xxxxxxxxxxxxx
                                                        prfh.  */
                                                     return 1931;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0001xxxxx111xxxxxxxxxxxxx
                                                        ldff1b.  */
                                                     return 1795;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x0101xxxxx111xxxxxxxxxxxxx
                                                        ldff1h.  */
                                                     return 1812;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x001xxxxxx111xxxxxxxxxxxxx
                                                    ld1rb.  */
                                                 return 1701;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x011xxxxxx111xxxxxxxxxxxxx
                                                    ld1rh.  */
                                                 return 1705;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x0xx0xxxxx111x00xxxxxxxxxx
                                                        zipq1.  */
                                                     return 3553;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx111010xxxxxxxxxx
                                                            uzpq1.  */
                                                         return 3551;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x0xx0xxxxx111110xxxxxxxxxx
                                                            tblq.  */
                                                         return 3548;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x0xx0xxxxx111x01xxxxxxxxxx
                                                        zipq2.  */
                                                     return 3554;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x0xx0xxxxx111x11xxxxxxxxxx
                                                        uzpq2.  */
                                                     return 3552;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0000xxxxx111xxxxxxxxxxxxx
                                                        prfb.  */
                                                     return 1919;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0100xxxxx111xxxxxxxxxxxxx
                                                        prfh.  */
                                                     return 1933;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0010xxxxx111xxxxxxxxxxxxx
                                                        ldff1b.  */
                                                     return 1794;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0110xxxxx111xxxxxxxxxxxxx
                                                        ldff1h.  */
                                                     return 1810;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x00x1xxxxx111x00xxxxxxxxxx
                                                            sqdmulh.  */
                                                         return 2329;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x00x1xxxxx111x10xxxxxxxxxx
                                                            mul.  */
                                                         return 2256;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x00x1xxxxx111xx1xxxxxxxxxx
                                                        sqrdmulh.  */
                                                     return 2351;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0001xxxxx111xxxxxxxxxxxxx
                                                        ldff1b.  */
                                                     return 1796;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0011xxxxx111xxxxxxxxxxxxx
                                                        prfd.  */
                                                     return 1923;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1110x0xxxxxxxxxx
                                                                sqdmullb.  */
                                                             return 2333;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 11) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx111100xxxxxxxxxx
                                                                    sqdmulh.  */
                                                                 return 2330;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0101xxxxx111110xxxxxxxxxx
                                                                    mul.  */
                                                                 return 2257;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1110x1xxxxxxxxxx
                                                                sqdmullt.  */
                                                             return 2336;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0101xxxxx1111x1xxxxxxxxxx
                                                                sqrdmulh.  */
                                                             return 2352;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0101xxxxx111xxxxxxxxxxxxx
                                                        ldff1h.  */
                                                     return 1813;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1110x0xxxxxxxxxx
                                                                sqdmullb.  */
                                                             return 2334;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 11) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx111100xxxxxxxxxx
                                                                    sqdmulh.  */
                                                                 return 2331;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x0111xxxxx111110xxxxxxxxxx
                                                                    mul.  */
                                                                 return 2258;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1110x1xxxxxxxxxx
                                                                sqdmullt.  */
                                                             return 2337;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x0111xxxxx1111x1xxxxxxxxxx
                                                                sqrdmulh.  */
                                                             return 2353;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x0111xxxxx111xxxxxxxxxxxxx
                                                        ldff1h.  */
                                                     return 1811;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 21) & 0x1) == 0)
                       {
                         if (((word >> 15) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx000xxxxxxxx0xxxx
                                                    cmphs.  */
                                                 return 1493;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx000xxxxxxxx1xxxx
                                                    cmphi.  */
                                                 return 1490;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x00x0xxxxx000xxxxxxxxxxxxx
                                                    ld1rqb.  */
                                                 return 1707;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x01x0xxxxx000xxxxxxxxxxxxx
                                                    ld1rqh.  */
                                                 return 1711;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx010xxxxxxxx0xxxx
                                                    cmpge.  */
                                                 return 1484;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx010xxxxxxxx1xxxx
                                                    cmpgt.  */
                                                 return 1487;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0000xxxxx010xxxxxxxxxxxxx
                                                        ld1b.  */
                                                     return 1665;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0100xxxxx010xxxxxxxxxxxxx
                                                        ld1sw.  */
                                                     return 1745;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0010xxxxx010xxxxxxxxxxxxx
                                                        ld1b.  */
                                                     return 1667;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0110xxxxx010xxxxxxxxxxxxx
                                                        ld1h.  */
                                                     return 1687;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx001xxxxxxxx0xxxx
                                                    cmpeq.  */
                                                 return 1481;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx001xxxxxxxx1xxxx
                                                    cmpne.  */
                                                 return 1504;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x00x0xxxxx001xxxxxxxxxxxxx
                                                    ld1rqb.  */
                                                 return 1706;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x01x0xxxxx001xxxxxxxxxxxxx
                                                    ld1rqh.  */
                                                 return 1710;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx011xxxxxxxx0xxxx
                                                    cmplt.  */
                                                 return 1502;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx011xxxxxxxx1xxxx
                                                    cmple.  */
                                                 return 1496;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0000xxxxx011xxxxxxxxxxxxx
                                                        ldff1b.  */
                                                     return 1789;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0100xxxxx011xxxxxxxxxxxxx
                                                        ldff1sw.  */
                                                     return 1832;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0010xxxxx011xxxxxxxxxxxxx
                                                        ldff1b.  */
                                                     return 1791;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0110xxxxx011xxxxxxxxxxxxx
                                                        ldff1h.  */
                                                     return 1806;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        011001x0xx0xxxxx0xxxxxxxxxxxxxxx
                                        fcmla.  */
                                     return 1550;
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0x00xxxxx000xxxxxxxxxxxxx
                                                    st3q.  */
                                                 return 3580;
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0010xxxxx000xxxxxxxxxxxxx
                                                        st2q.  */
                                                     return 3579;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0110xxxxx000xxxxxxxxxxxxx
                                                        st4q.  */
                                                     return 3581;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0x00xxxxx010xxxxxxxxxxxxx
                                                    st1b.  */
                                                 return 2013;
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0010xxxxx010xxxxxxxxxxxxx
                                                        st1b.  */
                                                     return 2017;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0110xxxxx010xxxxxxxxxxxxx
                                                        st1h.  */
                                                     return 2038;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0000xxxxx001xxxxxxxxxxxxx
                                                        stnt1b.  */
                                                     return 2391;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0100xxxxx001xxxxxxxxxxxxx
                                                        stnt1h.  */
                                                     return 2394;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0010xxxxx001xxxxxxxxxxxxx
                                                        stnt1b.  */
                                                     return 2390;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0110xxxxx001xxxxxxxxxxxxx
                                                        stnt1h.  */
                                                     return 2393;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0000xxxxx011xxxxxxxxxxxxx
                                                        stnt1b.  */
                                                     return 2083;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0100xxxxx011xxxxxxxxxxxxx
                                                        stnt1h.  */
                                                     return 2087;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0010xxxxx011xxxxxxxxxxxxx
                                                        st3b.  */
                                                     return 2067;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0110xxxxx011xxxxxxxxxxxxx
                                                        st3h.  */
                                                     return 2071;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 4) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x01001x0xx0xxxxx100xxxxxxxx0xxxx
                                                cmpge.  */
                                             return 1485;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x01001x0xx0xxxxx100xxxxxxxx1xxxx
                                                cmpgt.  */
                                             return 1488;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx110xxxxxxxx0xxxx
                                                    cmphs.  */
                                                 return 1494;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx110xxxxxxxx1xxxx
                                                    cmphi.  */
                                                 return 1491;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0000xxxxx110xxxxxxxxxxxxx
                                                        ldnt1b.  */
                                                     return 1864;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0100xxxxx110xxxxxxxxxxxxx
                                                        ldnt1h.  */
                                                     return 1868;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0010xxxxx110xxxxxxxxxxxxx
                                                        ld3b.  */
                                                     return 1772;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0110xxxxx110xxxxxxxxxxxxx
                                                        ld3h.  */
                                                     return 1776;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx101xxxxxxxx0xxxx
                                                    cmpeq.  */
                                                 return 1482;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx101xxxxxxxx1xxxx
                                                    cmpne.  */
                                                 return 1505;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00000xxxx101xxxxxxxxxxxxx
                                                            ld1b.  */
                                                         return 1672;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01000xxxx101xxxxxxxxxxxxx
                                                            ld1sw.  */
                                                         return 1750;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00100xxxx101xxxxxxxxxxxxx
                                                            ld1b.  */
                                                         return 1674;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01100xxxx101xxxxxxxxxxxxx
                                                            ld1h.  */
                                                         return 1695;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00001xxxx101xxxxxxxxxxxxx
                                                            ldnf1b.  */
                                                         return 1848;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01001xxxx101xxxxxxxxxxxxx
                                                            ldnf1sw.  */
                                                         return 1861;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00101xxxx101xxxxxxxxxxxxx
                                                            ldnf1b.  */
                                                         return 1850;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01101xxxx101xxxxxxxxxxxxx
                                                            ldnf1h.  */
                                                         return 1854;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx111xxxxxxxx0xxxx
                                                    cmplo.  */
                                                 return 1498;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x0xx0xxxxx111xxxxxxxx1xxxx
                                                    cmpls.  */
                                                 return 1500;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00000xxxx111xxxxxxxxxxxxx
                                                            ldnt1b.  */
                                                         return 1865;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01000xxxx111xxxxxxxxxxxxx
                                                            ldnt1h.  */
                                                         return 1869;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00100xxxx111xxxxxxxxxxxxx
                                                            ld3b.  */
                                                         return 1773;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01100xxxx111xxxxxxxxxxxxx
                                                            ld3h.  */
                                                         return 1777;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x0xx01xxxx111xxxxxxxxxxxxx
                                                    ld2q.  */
                                                 return 3572;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     if (((word >> 17) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 18) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx00000x100xxxxxxxxxxxxx
                                                                fcadd.  */
                                                             return 1549;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx01000x100xxxxxxxxxxxxx
                                                                faddp.  */
                                                             return 2217;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx0x1000100xxxxxxxxxxxxx
                                                                frintn.  */
                                                             return 3768;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx0x1001100xxxxxxxxxxxxx
                                                                frinta.  */
                                                             return 3767;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0xx000110xxxxxxxxxxxxx
                                                            frintm.  */
                                                         return 3770;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0xx001110xxxxxxxxxxxxx
                                                            frintx.  */
                                                         return 3765;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0x01001x0xxxxxxxxxxxxx
                                                            fmaxnmp.  */
                                                         return 2225;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0x00x11001x0xxxxxxxxxxxxx
                                                                frint32z.  */
                                                             return 3760;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1100100xxxxxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 3784;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1100110xxxxxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 3781;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0x01011x0xxxxxxxxxxxxx
                                                            fminnmp.  */
                                                         return 2227;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0000x11011x0xxxxxxxxxxxxx
                                                                    frint64z.  */
                                                                 return 3764;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0100x11011x0xxxxxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 3783;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0010x1101100xxxxxxxxxxxxx
                                                                        scvtf.  */
                                                                     return 3782;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0110x1101100xxxxxxxxxxxxx
                                                                        scvtf.  */
                                                                     return 3786;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0010x1101110xxxxxxxxxxxxx
                                                                        scvtf.  */
                                                                     return 3785;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0110x1101110xxxxxxxxxxxxx
                                                                        scvtf.  */
                                                                     return 3787;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0xx000000101xxxxxxxxxxxxx
                                                                    fcvtnt.  */
                                                                 return 3735;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0xx010000101xxxxxxxxxxxxx
                                                                    faddqv.  */
                                                                 return 3541;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0xx001000101xxxxxxxxxxxxx
                                                                    fcvtnt.  */
                                                                 return 2220;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0xx011000101xxxxxxxxxxxxx
                                                                    frintp.  */
                                                                 return 3771;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0xx000111xxxxxxxxxxxxx
                                                            frintz.  */
                                                         return 3769;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0x01001x1xxxxxxxxxxxxx
                                                            fmaxnmqv.  */
                                                         return 3542;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0x00x11001x1xxxxxxxxxxxxx
                                                                frint32x.  */
                                                             return 3758;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1100101xxxxxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 3796;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1100111xxxxxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 3793;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx0x0001101xxxxxxxxxxxxx
                                                                fcvtlt.  */
                                                             return 3733;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx0x1001101xxxxxxxxxxxxx
                                                                fcvtlt.  */
                                                             return 2218;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0xx001111xxxxxxxxxxxxx
                                                            frinti.  */
                                                         return 3766;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0x01011x1xxxxxxxxxxxxx
                                                            fminnmqv.  */
                                                         return 3544;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0000x11011x1xxxxxxxxxxxxx
                                                                    frint64x.  */
                                                                 return 3762;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0100x11011x1xxxxxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 3795;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0010x1101101xxxxxxxxxxxxx
                                                                        ucvtf.  */
                                                                     return 3794;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0110x1101101xxxxxxxxxxxxx
                                                                        ucvtf.  */
                                                                     return 3798;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0010x1101111xxxxxxxxxxxxx
                                                                        ucvtf.  */
                                                                     return 3797;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0110x1101111xxxxxxxxxxxxx
                                                                        ucvtf.  */
                                                                     return 3799;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 16) & 0x1) == 0)
                                           {
                                             if (((word >> 18) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0x00xx010100xxxxxxxxxxxxx
                                                                fcvt.  */
                                                             return 3729;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0x10xx010100xxxxxxxxxxxxx
                                                                fcvt.  */
                                                             return 3731;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0000xx010110xxxxxxxxxxxxx
                                                                    fcvtx.  */
                                                                 return 3737;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0100xx010110xxxxxxxxxxxxx
                                                                    bfcvt.  */
                                                                 return 3718;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0x10xx010110xxxxxxxxxxxxx
                                                                fcvt.  */
                                                             return 3732;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0000x0010101xxxxxxxxxxxxx
                                                                        fcvtxnt.  */
                                                                     return 3738;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0100x0010101xxxxxxxxxxxxx
                                                                        bfcvtnt.  */
                                                                     return 3719;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x0010101xxxxxxxxxxxxx
                                                                    fcvtnt.  */
                                                                 return 3736;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x000001010101xxxxxxxxxxxxx
                                                                            fcvtxnt.  */
                                                                         return 2223;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x010001010101xxxxxxxxxxxxx
                                                                            bfcvtnt.  */
                                                                         return 3221;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0x1001010101xxxxxxxxxxxxx
                                                                        fcvtnt.  */
                                                                     return 2221;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0x0011010101xxxxxxxxxxxxx
                                                                        fcvt.  */
                                                                     return 3727;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0x1011010101xxxxxxxxxxxxx
                                                                        fcvt.  */
                                                                     return 3728;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0xx010111xxxxxxxxxxxxx
                                                            fcvt.  */
                                                         return 3730;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 19) & 0x1) == 0)
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0x01101x0xxxxxxxxxxxxx
                                                            fmaxp.  */
                                                         return 2226;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0x01101x1xxxxxxxxxxxxx
                                                            fmaxqv.  */
                                                         return 3543;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0x00x11101xxxxxxxxxxxxxxx
                                                            flogb.  */
                                                         return 3754;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 13) & 0x1) == 0)
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1110100xxxxxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 3744;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1110110xxxxxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 3739;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 14) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1110101xxxxxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 3751;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x10x1110111xxxxxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 3746;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0xx0xx011100xxxxxxxxxxxxx
                                                            frecpx.  */
                                                         return 3756;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx0x0111100xxxxxxxxxxxxx
                                                                fminp.  */
                                                             return 2228;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x00x1111100xxxxxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 3742;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0010x1111100xxxxxxxxxxxxx
                                                                        fcvtzs.  */
                                                                     return 3740;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0110x1111100xxxxxxxxxxxxx
                                                                        fcvtzs.  */
                                                                     return 3743;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x00x0xxx11110xxxxxxxxxxxxx
                                                            fcvtzs.  */
                                                         return 3741;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x01x0xxx11110xxxxxxxxxxxxx
                                                            fcvtzs.  */
                                                         return 3745;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx0x0011101xxxxxxxxxxxxx
                                                                fcvtlt.  */
                                                             return 3734;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0xx001011101xxxxxxxxxxxxx
                                                                    fcvtlt.  */
                                                                 return 2219;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0xx011011101xxxxxxxxxxxxx
                                                                    fsqrt.  */
                                                                 return 3772;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0xx0x0111101xxxxxxxxxxxxx
                                                                fminqv.  */
                                                             return 3545;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0x00x1111101xxxxxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 3749;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0010x1111101xxxxxxxxxxxxx
                                                                        fcvtzu.  */
                                                                     return 3747;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x0110x1111101xxxxxxxxxxxxx
                                                                        fcvtzu.  */
                                                                     return 3750;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x00x0xxx11111xxxxxxxxxxxxx
                                                            fcvtzu.  */
                                                         return 3748;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x01x0xxx11111xxxxxxxxxxxxx
                                                            fcvtzu.  */
                                                         return 3752;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0000xxxxx1x0xxxxxxxxxxxxx
                                                    st1b.  */
                                                 return 2014;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0100xxxxx1x0xxxxxxxxxxxxx
                                                    st1h.  */
                                                 return 2033;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0010xxxxx1x0xxxxxxxxxxxxx
                                                    st1b.  */
                                                 return 2018;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0110xxxxx1x0xxxxxxxxxxxxx
                                                    st1h.  */
                                                 return 2039;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0000xxxxx101xxxxxxxxxxxxx
                                                        st1b.  */
                                                     return 2015;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0100xxxxx101xxxxxxxxxxxxx
                                                        st1h.  */
                                                     return 2034;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0010xxxxx101xxxxxxxxxxxxx
                                                        st1b.  */
                                                     return 2022;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0110xxxxx101xxxxxxxxxxxxx
                                                        st1h.  */
                                                     return 2043;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0x000xxxx111xxxxxxxxxxxxx
                                                        st1b.  */
                                                     return 2020;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x00100xxxx111xxxxxxxxxxxxx
                                                            st1b.  */
                                                         return 2023;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x01100xxxx111xxxxxxxxxxxxx
                                                            st1h.  */
                                                         return 2044;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x00001xxxx111xxxxxxxxxxxxx
                                                            stnt1b.  */
                                                         return 2084;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x01001xxxx111xxxxxxxxxxxxx
                                                            stnt1h.  */
                                                         return 2088;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x00101xxxx111xxxxxxxxxxxxx
                                                            st3b.  */
                                                         return 2068;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x01101xxxx111xxxxxxxxxxxxx
                                                            st3h.  */
                                                         return 2072;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 13) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            001001x0xx1xxxxxxx0xxxxxxxx0xxxx
                                            cmphs.  */
                                         return 1495;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            001001x0xx1xxxxxxx0xxxxxxxx1xxxx
                                            cmphi.  */
                                         return 1492;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 15) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x00x1xxxxx000xxxxxxxxxxxxx
                                                    ld1rob.  */
                                                 return 3197;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x01x1xxxxx000xxxxxxxxxxxxx
                                                    ld1roh.  */
                                                 return 3198;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                101001x0xx1xxxxx100xxxxxxxxxxxxx
                                                ld2q.  */
                                             return 3575;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 15) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0001xxxxx010xxxxxxxxxxxxx
                                                        ld1b.  */
                                                     return 1666;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0101xxxxx010xxxxxxxxxxxxx
                                                        ld1h.  */
                                                     return 1686;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0011xxxxx010xxxxxxxxxxxxx
                                                        ld1b.  */
                                                     return 1668;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0111xxxxx010xxxxxxxxxxxxx
                                                        ld1h.  */
                                                     return 1688;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0001xxxxx110xxxxxxxxxxxxx
                                                        ld2b.  */
                                                     return 1764;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0101xxxxx110xxxxxxxxxxxxx
                                                        ld2h.  */
                                                     return 1768;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0011xxxxx110xxxxxxxxxxxxx
                                                        ld4b.  */
                                                     return 1780;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0111xxxxx110xxxxxxxxxxxxx
                                                        ld4h.  */
                                                     return 1784;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x00x1xxxxx000x00xxxxxxxxxx
                                                            fmla.  */
                                                         return 1603;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x00x1xxxxx000x10xxxxxxxxxx
                                                            bfmla.  */
                                                         return 3449;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x00x1xxxxx000x01xxxxxxxxxx
                                                            fmls.  */
                                                         return 1607;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x00x1xxxxx000x11xxxxxxxxxx
                                                            bfmls.  */
                                                         return 3450;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x00x1xxxxx000xxxxxxxxxxxxx
                                                    st2q.  */
                                                 return 3582;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 10) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0101xxxxx0000x0xxxxxxxxxx
                                                                fmla.  */
                                                             return 1604;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0101xxxxx0000x1xxxxxxxxxx
                                                                fmls.  */
                                                             return 1608;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0101xxxxx0001xxxxxxxxxxxx
                                                            fcmla.  */
                                                         return 1551;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0101xxxxx000xxxxxxxxxxxxx
                                                        st3q.  */
                                                     return 3583;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 10) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0111xxxxx0000x0xxxxxxxxxx
                                                                fmla.  */
                                                             return 1605;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0111xxxxx0000x1xxxxxxxxxx
                                                                fmls.  */
                                                             return 1609;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx0001xxxxxxxxxxxx
                                                            fcmla.  */
                                                         return 1552;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0111xxxxx000xxxxxxxxxxxxx
                                                        st4q.  */
                                                     return 3584;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 10) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0001xxxxx0100x0xxxxxxxxxx
                                                                fdot.  */
                                                             return 2556;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0001xxxxx0100x1xxxxxxxxxx
                                                                fdot.  */
                                                             return 3671;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0001xxxxx0101xxxxxxxxxxxx
                                                            fmlalb.  */
                                                         return 3673;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0001xxxxx010xxxxxxxxxxxxx
                                                        st1b.  */
                                                     return 2016;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 10) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0101xxxxx0100x0xxxxxxxxxx
                                                                fmlalb.  */
                                                             return 2229;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0101xxxxx0100x1xxxxxxxxxx
                                                                fmlalt.  */
                                                             return 2231;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0101xxxxx0101xxxxxxxxxxxx
                                                            fmlalt.  */
                                                         return 3683;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0101xxxxx010xxxxxxxxxxxxx
                                                        st1h.  */
                                                     return 2035;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0011xxxxx010xx0xxxxxxxxxx
                                                            bfdot.  */
                                                         return 3218;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0011xxxxx010xx1xxxxxxxxxx
                                                            fdot.  */
                                                         return 3669;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0011xxxxx010xxxxxxxxxxxxx
                                                        st1b.  */
                                                     return 2019;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx010xx0xxxxxxxxxx
                                                            bfmlalb.  */
                                                         return 3225;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx010xx1xxxxxxxxxx
                                                            bfmlalt.  */
                                                         return 3224;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0111xxxxx010xxxxxxxxxxxxx
                                                        st1h.  */
                                                     return 2040;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x11001x0001xxxxx100000xxxxxxxxxx
                                                                fdot.  */
                                                             return 2557;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x11001x0001xxxxx100010xxxxxxxxxx
                                                                fmlallbb.  */
                                                             return 3674;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x11001x0001xxxxx1000x1xxxxxxxxxx
                                                            fdot.  */
                                                         return 3670;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x11001x0001xxxxx1100xxxxxxxxxxxx
                                                        fmlallbb.  */
                                                     return 3675;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x11001x0001xxxxx1x01xxxxxxxxxxxx
                                                    fmlallbt.  */
                                                 return 3676;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 10) & 0x1) == 0)
                                                           {
                                                             if (((word >> 11) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0101xxxxx100000xxxxxxxxxx
                                                                    fmlalb.  */
                                                                 return 2230;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x0101xxxxx100010xxxxxxxxxx
                                                                    fmlalb.  */
                                                                 return 3672;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0101xxxxx1000x1xxxxxxxxxx
                                                                fmlalt.  */
                                                             return 2232;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0101xxxxx1100xxxxxxxxxxxx
                                                            fmlalltb.  */
                                                         return 3679;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x0101xxxxx1x01xxxxxxxxxxxx
                                                        fmlalt.  */
                                                     return 3682;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0101xxxxx1x0xxxxxxxxxxxxx
                                                    st1h.  */
                                                 return 2036;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x11001x0011xxxxx100xx0xxxxxxxxxx
                                                        bfdot.  */
                                                     return 3217;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x11001x0011xxxxx100xx1xxxxxxxxxx
                                                        fdot.  */
                                                     return 3668;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x11001x0011xxxxx110xxxxxxxxxxxxx
                                                    fmlallbt.  */
                                                 return 3677;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx100xx0xxxxxxxxxx
                                                            bfmlalb.  */
                                                         return 3223;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx100xx1xxxxxxxxxx
                                                            bfmlalt.  */
                                                         return 3222;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x0111xxxxx110xxxxxxxxxxxxx
                                                        fmlalltt.  */
                                                     return 3681;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x0111xxxxx1x0xxxxxxxxxxxxx
                                                    st1h.  */
                                                 return 2041;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     if (((word >> 4) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            001001x0xx1xxxxxxx1xxxxxxxx0xxxx
                                            cmplo.  */
                                         return 1499;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            001001x0xx1xxxxxxx1xxxxxxxx1xxxx
                                            cmpls.  */
                                         return 1501;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 15) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x00x1xxxxx001xxxxxxxxxxxxx
                                                    ld1rob.  */
                                                 return 3201;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x01x1xxxxx001xxxxxxxxxxxxx
                                                    ld1roh.  */
                                                 return 3202;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00010xxxx101xxxxxxxxxxxxx
                                                            ld1b.  */
                                                         return 1673;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01010xxxx101xxxxxxxxxxxxx
                                                            ld1h.  */
                                                         return 1694;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00110xxxx101xxxxxxxxxxxxx
                                                            ld1b.  */
                                                         return 1675;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01110xxxx101xxxxxxxxxxxxx
                                                            ld1h.  */
                                                         return 1696;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00011xxxx101xxxxxxxxxxxxx
                                                            ldnf1b.  */
                                                         return 1849;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01011xxxx101xxxxxxxxxxxxx
                                                            ldnf1h.  */
                                                         return 1853;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x00111xxxx101xxxxxxxxxxxxx
                                                            ldnf1b.  */
                                                         return 1851;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x01111xxxx101xxxxxxxxxxxxx
                                                            ldnf1h.  */
                                                         return 1855;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 15) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0001xxxxx011xxxxxxxxxxxxx
                                                        ldff1b.  */
                                                     return 1790;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0101xxxxx011xxxxxxxxxxxxx
                                                        ldff1h.  */
                                                     return 1805;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0011xxxxx011xxxxxxxxxxxxx
                                                        ldff1b.  */
                                                     return 1792;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0111xxxxx011xxxxxxxxxxxxx
                                                        ldff1h.  */
                                                     return 1807;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0001xxxxx111xxxxxxxxxxxxx
                                                        ld2b.  */
                                                     return 1765;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0101xxxxx111xxxxxxxxxxxxx
                                                        ld2h.  */
                                                     return 1769;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0011xxxxx111xxxxxxxxxxxxx
                                                        ld4b.  */
                                                     return 1781;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x0111xxxxx111xxxxxxxxxxxxx
                                                        ld4h.  */
                                                     return 1785;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 14) & 0x1) == 0)
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x00x1xxxxx001x00xxxxxxxxxx
                                                            fmul.  */
                                                         return 1614;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0101xxxxx001x00xxxxxxxxxx
                                                                fmul.  */
                                                             return 1615;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x0111xxxxx001x00xxxxxxxxxx
                                                                fmul.  */
                                                             return 1616;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x0xx1xxxxx001x10xxxxxxxxxx
                                                        bfmul.  */
                                                     return 3454;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011001x0xx1xxxxx001xx1xxxxxxxxxx
                                                    fclamp.  */
                                                 return 2558;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                111001x0xx1xxxxx001xxxxxxxxxxxxx
                                                st1q.  */
                                             return 3578;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x11001x0001xxxxx1010xxxxxxxxxxxx
                                                        fmlalltb.  */
                                                     return 3678;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x11001x0001xxxxx1011xxxxxxxxxxxx
                                                        fmlalltt.  */
                                                     return 3680;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0101xxxxx101xx0xxxxxxxxxx
                                                            fmlslb.  */
                                                         return 2234;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0101xxxxx101xx1xxxxxxxxxx
                                                            fmlslt.  */
                                                         return 2236;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0101xxxxx101xxxxxxxxxxxxx
                                                        st1h.  */
                                                     return 2037;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x11001x0011xxxxx101xxxxxxxxxxxxx
                                                    st1b.  */
                                                 return 2024;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx101xx0xxxxxxxxxx
                                                            bfmlslb.  */
                                                         return 2553;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx101xx1xxxxxxxxxx
                                                            bfmlslt.  */
                                                         return 2555;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0111xxxxx101xxxxxxxxxxxxx
                                                        st1h.  */
                                                     return 2045;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x11001x0001xxxxx011xxxxxxxxxxxxx
                                                    st2b.  */
                                                 return 2059;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0101xxxxx011xx0xxxxxxxxxx
                                                            fmlslb.  */
                                                         return 2233;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0101xxxxx011xx1xxxxxxxxxx
                                                            fmlslt.  */
                                                         return 2235;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0101xxxxx011xxxxxxxxxxxxx
                                                        st2h.  */
                                                     return 2063;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x11001x0011xxxxx011xxxxxxxxxxxxx
                                                    st4b.  */
                                                 return 2075;
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx011xx0xxxxxxxxxx
                                                            bfmlslb.  */
                                                         return 2552;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0111xxxxx011xx1xxxxxxxxxx
                                                            bfmlslt.  */
                                                         return 2554;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x0111xxxxx011xxxxxxxxxxxxx
                                                        st4h.  */
                                                     return 2079;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0001xxxxx111xx0xxxxxxxxxx
                                                            fmmla.  */
                                                         return 3238;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0001xxxxx111xx1xxxxxxxxxx
                                                            fmmla.  */
                                                         return 3236;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x00010xxxx111xxxxxxxxxxxxx
                                                            st1b.  */
                                                         return 2021;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x00011xxxx111xxxxxxxxxxxxx
                                                            st2b.  */
                                                         return 2060;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x0101xxxxx111xxxxxxxxxxxxx
                                                        fmmla.  */
                                                     return 3195;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x01010xxxx111xxxxxxxxxxxxx
                                                            st1h.  */
                                                         return 2042;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x01011xxxx111xxxxxxxxxxxxx
                                                            st2h.  */
                                                         return 2064;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0011xxxxx111xx0xxxxxxxxxx
                                                            fmmla.  */
                                                         return 3240;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x0011xxxxx111xx1xxxxxxxxxx
                                                            bfmmla.  */
                                                         return 3219;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x00110xxxx111xxxxxxxxxxxxx
                                                            st1b.  */
                                                         return 2025;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x00111xxxx111xxxxxxxxxxxxx
                                                            st4b.  */
                                                         return 2076;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x0111xxxxx111xxxxxxxxxxxxx
                                                        fmmla.  */
                                                     return 3196;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x01110xxxx111xxxxxxxxxxxxx
                                                            st1h.  */
                                                         return 2046;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x01111xxxx111xxxxxxxxxxxxx
                                                            st4h.  */
                                                         return 2080;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }
             else
               {
                 if (((word >> 29) & 0x1) == 0)
                   {
                     if (((word >> 30) & 0x1) == 0)
                       {
                         if (((word >> 31) & 0x1) == 0)
                           {
                             if (((word >> 21) & 0x1) == 0)
                               {
                                 if (((word >> 20) & 0x1) == 0)
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x10000xxxxxxxxxxxxxxxxxxxx
                                                orr.  */
                                             return 1904;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x11000xxxxxxxxxxxxxxxxxxxx
                                                and.  */
                                             return 1447;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x10100xxxxxxxxxxxxxxxxxxxx
                                                eor.  */
                                             return 1534;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                000001x11100xxxxxxxxxxxxxxxxxxxx
                                                dupm.  */
                                             return 1532;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            000001x1xx01xxxx0xxxxxxxxxxxxxxx
                                            cpy.  */
                                         return 1517;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            000001x1xx01xxxx1xxxxxxxxxxxxxxx
                                            fcpy.  */
                                         return 1564;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 14) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 15) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x1001xxxxx000xxxxxxxxxxxxx
                                                        ext.  */
                                                     return 1539;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1101xxxxx000x00xxxxxxxxxx
                                                                zip1.  */
                                                             return 3205;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1101xxxxx000010xxxxxxxxxx
                                                                    uzp1.  */
                                                                 return 3207;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1101xxxxx000110xxxxxxxxxx
                                                                    trn1.  */
                                                                 return 3209;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1101xxxxx000x01xxxxxxxxxx
                                                                zip2.  */
                                                             return 3206;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1101xxxxx000011xxxxxxxxxx
                                                                    uzp2.  */
                                                                 return 3208;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1101xxxxx000111xxxxxxxxxx
                                                                    trn2.  */
                                                                 return 3210;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    000001x1x11xxxxx000xxxxxxxxxxxxx
                                                    ext.  */
                                                 return 2216;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x0000100xxxxxxxxxxxxx
                                                                cpy.  */
                                                             return 1515;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1000100xxxxxxxxxxxxx
                                                                clasta.  */
                                                             return 1473;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x0100100xxxxxxxxxxxxx
                                                                revb.  */
                                                             return 1953;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1100100xxxxxxxxxxxxx
                                                                splice.  */
                                                             return 1980;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x0010100xxxxxxxxxxxxx
                                                                lasta.  */
                                                             return 1661;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1010100xxxxxxxxxxxxx
                                                                clasta.  */
                                                             return 1474;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x0110100xxxxxxxxxxxxx
                                                                revw.  */
                                                             return 1955;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1110100xxxxxxxxxxxxx
                                                                revd.  */
                                                             return 2546;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x10x100001100xxxxxxxxxxxxx
                                                                        compact.  */
                                                                     return 3724;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x11x100001100xxxxxxxxxxxxx
                                                                        compact.  */
                                                                     return 1514;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1xx110001100xxxxxxxxxxxxx
                                                                    expand.  */
                                                                 return 3725;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1001100xxxxxxxxxxxxx
                                                                clastb.  */
                                                             return 1476;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x0101100xxxxxxxxxxxxx
                                                                revh.  */
                                                             return 1954;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1101100xxxxxxxxxxxxx
                                                                splice.  */
                                                             return 2311;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x0011100xxxxxxxxxxxxx
                                                                lastb.  */
                                                             return 1663;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1011100xxxxxxxxxxxxx
                                                                clastb.  */
                                                             return 1477;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xx111100xxxxxxxxxxxxx
                                                            rbit.  */
                                                         return 1946;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 15) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx001000xxxxxxxxxx
                                                            dup.  */
                                                         return 1530;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx001100xxxxxxxxxx
                                                            tbl.  */
                                                         return 2104;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx001010xxxxxxxxxx
                                                            tbl.  */
                                                         return 2400;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 20) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                000001x1xx100000001110xxxxxxxxxx
                                                                                dup.  */
                                                                             return 1529;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                000001x1xx110000001110xxxxxxxxxx
                                                                                sunpklo.  */
                                                                             return 2100;
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         if (((word >> 20) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                000001x1xx100100001110xxxxxxxxxx
                                                                                insr.  */
                                                                             return 1658;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                000001x1xx110100001110xxxxxxxxxx
                                                                                insr.  */
                                                                             return 1659;
                                                                           }
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x1xx1x0x10001110xxxxxxxxxx
                                                                        uunpklo.  */
                                                                     return 2163;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 20) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 22) & 0x1) == 0)
                                                                           {
                                                                             if (((word >> 18) & 0x1) == 0)
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    000001x1001010x0001110xxxxxxxxxx
                                                                                    pmov.  */
                                                                                 return 3555;
                                                                               }
                                                                             else
                                                                               {
                                                                                 /* 33222222222211111111110000000000
                                                                                    10987654321098765432109876543210
                                                                                    000001x1001011x0001110xxxxxxxxxx
                                                                                    pmov.  */
                                                                                 return 3556;
                                                                               }
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                000001x101101xx0001110xxxxxxxxxx
                                                                                pmov.  */
                                                                             return 3557;
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            000001x11x101xx0001110xxxxxxxxxx
                                                                            pmov.  */
                                                                         return 3558;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x1xx111xx0001110xxxxxxxxxx
                                                                        rev.  */
                                                                     return 1952;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x1xx1x0x01001110xxxxxxxxxx
                                                                        sunpkhi.  */
                                                                     return 2099;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x1xx1x0x11001110xxxxxxxxxx
                                                                        uunpkhi.  */
                                                                     return 2162;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 22) & 0x1) == 0)
                                                                       {
                                                                         if (((word >> 18) & 0x1) == 0)
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                000001x1001x10x1001110xxxxxxxxxx
                                                                                pmov.  */
                                                                             return 3559;
                                                                           }
                                                                         else
                                                                           {
                                                                             /* 33222222222211111111110000000000
                                                                                10987654321098765432109876543210
                                                                                000001x1001x11x1001110xxxxxxxxxx
                                                                                pmov.  */
                                                                             return 3560;
                                                                           }
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            000001x1011x1xx1001110xxxxxxxxxx
                                                                            pmov.  */
                                                                         return 3561;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x11x1x1xx1001110xxxxxxxxxx
                                                                        pmov.  */
                                                                     return 3562;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1x01xxxxx001001xxxxxxxxxx
                                                                dupq.  */
                                                             return 3546;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1x11xxxxx001001xxxxxxxxxx
                                                                extq.  */
                                                             return 3550;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx001101xxxxxxxxxx
                                                            tbxq.  */
                                                         return 3549;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x1xx1xxxxx001x11xxxxxxxxxx
                                                        tbx.  */
                                                     return 2401;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1xx100000101xxxxxxxxxxxxx
                                                                    lasta.  */
                                                                 return 1660;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1xx110000101xxxxxxxxxxxxx
                                                                    clasta.  */
                                                                 return 1475;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx1x1000101xxxxxxxxxxxxx
                                                                cpy.  */
                                                             return 1516;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xx100101xxxxxxxxxxxxx
                                                            revb.  */
                                                         return 3777;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1x0x10101xxxxxxxxxxxxx
                                                            revw.  */
                                                         return 3779;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1x1x10101xxxxxxxxxxxxx
                                                            revd.  */
                                                         return 3780;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx10x001101xxxxxxxxxxxxx
                                                                lastb.  */
                                                             return 1662;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx11x001101xxxxxxxxxxxxx
                                                                clastb.  */
                                                             return 1478;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xx101101xxxxxxxxxxxxx
                                                            revh.  */
                                                         return 3778;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x1xx1xxx11101xxxxxxxxxxxxx
                                                        rbit.  */
                                                     return 3776;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 10) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                000001x1xx10xxxx010000xxxxxxxxxx
                                                                zip1.  */
                                                             return 2180;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 18) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x1xx11x0x0010000xxxxxxxxxx
                                                                        punpklo.  */
                                                                     return 1945;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000001x1xx11x1x0010000xxxxxxxxxx
                                                                        rev.  */
                                                                     return 1951;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    000001x1xx11xxx1010000xxxxxxxxxx
                                                                    punpkhi.  */
                                                                 return 1944;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx011000xxxxxxxxxx
                                                            zip1.  */
                                                         return 2181;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx010100xxxxxxxxxx
                                                            trn1.  */
                                                         return 2105;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx011100xxxxxxxxxx
                                                            trn1.  */
                                                         return 2106;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x1xx1xxxxx010x10xxxxxxxxxx
                                                        uzp1.  */
                                                     return 2167;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x1xx1xxxxx011x10xxxxxxxxxx
                                                        uzp1.  */
                                                     return 2168;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx010001xxxxxxxxxx
                                                            zip2.  */
                                                         return 2182;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx011001xxxxxxxxxx
                                                            zip2.  */
                                                         return 2183;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 13) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx010101xxxxxxxxxx
                                                            trn2.  */
                                                         return 2107;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            000001x1xx1xxxxx011101xxxxxxxxxx
                                                            trn2.  */
                                                         return 2108;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x1xx1xxxxx010x11xxxxxxxxxx
                                                        uzp2.  */
                                                     return 2169;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        000001x1xx1xxxxx011x11xxxxxxxxxx
                                                        uzp2.  */
                                                     return 2170;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            000001x1xx1xxxxx11xxxxxxxxxxxxxx
                                            sel.  */
                                         return 1970;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 13) & 0x1) == 0)
                               {
                                 if (((word >> 14) & 0x1) == 0)
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                100001x1x0xxxxxx000xxxxxxxxxxxxx
                                                ldr.  */
                                             return 1872;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                100001x1x1xxxxxx000xxxxxxxxxxxxx
                                                prfb.  */
                                             return 1918;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                100001x10xxxxxxx100xxxxxxxxxxxxx
                                                ld1rsh.  */
                                             return 1717;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                100001x11xxxxxxx100xxxxxxxxxxxxx
                                                ld1rsb.  */
                                             return 1714;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x10x0xxxxx010xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 1752;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x10x1xxxxx010xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 1753;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x110xxxxxx010xxxxxxxxxxxxx
                                                    ldr.  */
                                                 return 1874;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x111xxxxxx010xxxxxxxxxxxxx
                                                    prfw.  */
                                                 return 1939;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x1000xxxxx110xxxxxxxxxxxxx
                                                        prfw.  */
                                                     return 1935;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x1100xxxxx110xxxxxxxxxxxxx
                                                        prfd.  */
                                                     return 1921;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x1x01xxxxx110xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 1760;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x101xxxxxx110xxxxxxxxxxxxx
                                                    ld1rw.  */
                                                 return 1720;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x111xxxxxx110xxxxxxxxxxxxx
                                                    ld1rsb.  */
                                                 return 1716;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 14) & 0x1) == 0)
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            100001x1xxxxxxxx001xxxxxxxxxxxxx
                                            prfh.  */
                                         return 1932;
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                100001x1x0xxxxxx101xxxxxxxxxxxxx
                                                ldnt1w.  */
                                             return 2247;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x101xxxxxx101xxxxxxxxxxxxx
                                                    ld1rsh.  */
                                                 return 1718;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x111xxxxxx101xxxxxxxxxxxxx
                                                    ld1rsb.  */
                                                 return 1715;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x10x0xxxxx011xxxxxxxxxxxxx
                                                    ldff1w.  */
                                                 return 1838;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x10x1xxxxx011xxxxxxxxxxxxx
                                                    ldff1w.  */
                                                 return 1839;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                100001x11xxxxxxx011xxxxxxxxxxxxx
                                                prfd.  */
                                             return 1925;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x1000xxxxx111xxxxxxxxxxxxx
                                                        prfw.  */
                                                     return 1938;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        100001x1100xxxxx111xxxxxxxxxxxxx
                                                        prfd.  */
                                                     return 1924;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x1x01xxxxx111xxxxxxxxxxxxx
                                                    ldff1w.  */
                                                 return 1846;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x101xxxxxx111xxxxxxxxxxxxx
                                                    ld1rw.  */
                                                 return 1721;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    100001x111xxxxxx111xxxxxxxxxxxxx
                                                    ld1rd.  */
                                                 return 1702;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 13) & 0x1) == 0)
                           {
                             if (((word >> 14) & 0x1) == 0)
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000000xxxxxxxxxx
                                                            saddlb.  */
                                                         return 2277;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000100xxxxxxxxxx
                                                            ssublb.  */
                                                         return 2384;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000010xxxxxxxxxx
                                                            uaddlb.  */
                                                         return 2408;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000110xxxxxxxxxx
                                                            usublb.  */
                                                         return 2461;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000001xxxxxxxxxx
                                                            saddlt.  */
                                                         return 2279;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000101xxxxxxxxxx
                                                            ssublt.  */
                                                         return 2386;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000011xxxxxxxxxx
                                                            uaddlt.  */
                                                         return 2409;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx000111xxxxxxxxxx
                                                            usublt.  */
                                                         return 2462;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                110001x1xx0xxxxx000xxxxxxxxxxxxx
                                                ld1sw.  */
                                             return 1746;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000000xxxxxxxxxx
                                                                sqshrunb.  */
                                                             return 2367;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000100xxxxxxxxxx
                                                                shrnb.  */
                                                             return 2285;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000010xxxxxxxxxx
                                                                sqrshrunb.  */
                                                             return 2359;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000110xxxxxxxxxx
                                                                rshrnb.  */
                                                             return 2267;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000001xxxxxxxxxx
                                                                sqshrunt.  */
                                                             return 2368;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000101xxxxxxxxxx
                                                                shrnt.  */
                                                             return 2286;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000011xxxxxxxxxx
                                                                sqrshrunt.  */
                                                             return 2360;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx000111xxxxxxxxxx
                                                                rshrnt.  */
                                                             return 2268;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x10x1xxxxx000xxxxxxxxxxxxx
                                                    ld1sw.  */
                                                 return 1747;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x10001x11x1xxxxx000xxxxxxxxxxxxx
                                                sqrshrun.  */
                                             return 2564;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx100000xxxxxxxxxx
                                                            saddlbt.  */
                                                         return 2278;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx100100xxxxxxxxxx
                                                            eorbt.  */
                                                         return 2214;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx100010xxxxxxxxxx
                                                            ssublbt.  */
                                                         return 2385;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x1000xxxxx100110xxxxxxxxxx
                                                                    smmla.  */
                                                                 return 3189;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x1100xxxxx100110xxxxxxxxxx
                                                                    usmmla.  */
                                                                 return 3191;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x1x10xxxxx100110xxxxxxxxxx
                                                                ummla.  */
                                                             return 3190;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx0xxxxx100x01xxxxxxxxxx
                                                        eortb.  */
                                                     return 2215;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx0xxxxx100x11xxxxxxxxxx
                                                        ssubltb.  */
                                                     return 2387;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x1x00xxxxx100xxxxxxxxxxxxx
                                                    ldnt1sw.  */
                                                 return 2246;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x1x10xxxxx100xxxxxxxxxxxxx
                                                    ld1sw.  */
                                                 return 1748;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    010001x1xx1xxxxx100xxxxxxxx0xxxx
                                                    match.  */
                                                 return 2249;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    010001x1xx1xxxxx100xxxxxxxx1xxxx
                                                    nmatch.  */
                                                 return 2261;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x1x01xxxxx100xxxxxxxxxxxxx
                                                    ld1sw.  */
                                                 return 1751;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x1x11xxxxx100xxxxxxxxxxxxx
                                                    ld1sw.  */
                                                 return 1749;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010000xxxxxxxxxx
                                                            saddwb.  */
                                                         return 2280;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010100xxxxxxxxxx
                                                            ssubwb.  */
                                                         return 2388;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010010xxxxxxxxxx
                                                            uaddwb.  */
                                                         return 2410;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010110xxxxxxxxxx
                                                            usubwb.  */
                                                         return 2463;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010001xxxxxxxxxx
                                                            saddwt.  */
                                                         return 2281;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010101xxxxxxxxxx
                                                            ssubwt.  */
                                                         return 2389;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010011xxxxxxxxxx
                                                            uaddwt.  */
                                                         return 2411;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx010111xxxxxxxxxx
                                                            usubwt.  */
                                                         return 2464;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x10x0xxxxx010xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 1756;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x11x0xxxxx010xxxxxxxxxxxxx
                                                    ld1d.  */
                                                 return 1678;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x10x1xxxx0010000xxxxxxxxxx
                                                                    sqxtnb.  */
                                                                 return 2371;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x10x1xxxx1010000xxxxxxxxxx
                                                                    sqcvtn.  */
                                                                 return 2561;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x10x1xxxx0010100xxxxxxxxxx
                                                                    sqxtunb.  */
                                                                 return 2373;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x10x1xxxx1010100xxxxxxxxxx
                                                                    sqcvtun.  */
                                                                 return 2562;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxx0010x10xxxxxxxxxx
                                                                uqxtnb.  */
                                                             return 2448;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxx1010x10xxxxxxxxxx
                                                                uqcvtn.  */
                                                             return 2567;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx010001xxxxxxxxxx
                                                                sqxtnt.  */
                                                             return 2372;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx010101xxxxxxxxxx
                                                                sqxtunt.  */
                                                             return 2374;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x10x1xxxxx010x11xxxxxxxxxx
                                                            uqxtnt.  */
                                                         return 2449;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x10x1xxxxx010xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 1757;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x10001x11x1xxxxx010xxxxxxxxxxxxx
                                                ld1d.  */
                                             return 1679;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx110000xxxxxxxxxx
                                                            sabalb.  */
                                                         return 2272;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x0xxxxx110100xxxxxxxxxx
                                                                adclb.  */
                                                             return 2197;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x11x0xxxxx110100xxxxxxxxxx
                                                                sbclb.  */
                                                             return 2282;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx110001xxxxxxxxxx
                                                            sabalt.  */
                                                         return 2273;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x0xxxxx110101xxxxxxxxxx
                                                                adclt.  */
                                                             return 2198;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x11x0xxxxx110101xxxxxxxxxx
                                                                sbclt.  */
                                                             return 2283;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx110010xxxxxxxxxx
                                                            uabalb.  */
                                                         return 2403;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx110011xxxxxxxxxx
                                                            uabalt.  */
                                                         return 2404;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxx011011xxxxxxxxxxx
                                                            cadd.  */
                                                         return 2206;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxx111011xxxxxxxxxxx
                                                            sqcadd.  */
                                                         return 2314;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1000xxxxx110xxxxxxxxxxxxx
                                                        ldnt1w.  */
                                                     return 2248;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1100xxxxx110xxxxxxxxxxxxx
                                                        ldnt1d.  */
                                                     return 2241;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1010xxxxx110xxxxxxxxxxxxx
                                                        ld1w.  */
                                                     return 1758;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1110xxxxx110xxxxxxxxxxxxx
                                                        ld1d.  */
                                                     return 1680;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x1001xxxxx110xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 1763;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x1011xxxxx110xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 1759;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    010001x11x1xxxxx110xxxxxxxxxxxxx
                                                    histcnt.  */
                                                 return 2237;
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1101xxxxx110xxxxxxxxxxxxx
                                                        ld1d.  */
                                                     return 1683;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1111xxxxx110xxxxxxxxxxxxx
                                                        ld1d.  */
                                                     return 1681;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 14) & 0x1) == 0)
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx0xxxxx001x00xxxxxxxxxx
                                                        sabdlb.  */
                                                     return 2274;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx0xxxxx001x10xxxxxxxxxx
                                                        uabdlb.  */
                                                     return 2405;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx0xxxxx001x01xxxxxxxxxx
                                                        sabdlt.  */
                                                     return 2275;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx0xxxxx001x11xxxxxxxxxx
                                                        uabdlt.  */
                                                     return 2406;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                110001x1xx0xxxxx001xxxxxxxxxxxxx
                                                ldff1sw.  */
                                             return 1833;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001000xxxxxxxxxx
                                                                sqshrnb.  */
                                                             return 2365;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001100xxxxxxxxxx
                                                                uqshrnb.  */
                                                             return 2444;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001010xxxxxxxxxx
                                                                sqrshrnb.  */
                                                             return 2357;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001110xxxxxxxxxx
                                                                uqrshrnb.  */
                                                             return 2439;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001001xxxxxxxxxx
                                                                sqshrnt.  */
                                                             return 2366;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001101xxxxxxxxxx
                                                                uqshrnt.  */
                                                             return 2445;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001011xxxxxxxxxx
                                                                sqrshrnt.  */
                                                             return 2358;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x10x1xxxxx001111xxxxxxxxxx
                                                                uqrshrnt.  */
                                                             return 2440;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x10x1xxxxx001xxxxxxxxxxxxx
                                                    ldff1sw.  */
                                                 return 1834;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x11x1xxxxx0010xxxxxxxxxxxx
                                                    sqrshrn.  */
                                                 return 2563;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x11x1xxxxx0011xxxxxxxxxxxx
                                                    uqrshrn.  */
                                                 return 2568;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx101000xxxxxxxxxx
                                                            sshllb.  */
                                                         return 2381;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx101100xxxxxxxxxx
                                                            bext.  */
                                                         return 2486;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx101010xxxxxxxxxx
                                                            ushllb.  */
                                                         return 2457;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx101110xxxxxxxxxx
                                                            bgrp.  */
                                                         return 2487;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx101001xxxxxxxxxx
                                                            sshllt.  */
                                                         return 2382;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx101101xxxxxxxxxx
                                                            bdep.  */
                                                         return 2485;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx0xxxxx101x11xxxxxxxxxx
                                                        ushllt.  */
                                                     return 2458;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                110001x1xx0xxxxx101xxxxxxxxxxxxx
                                                ldff1sw.  */
                                             return 1835;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx101000xxxxxxxxxx
                                                            histseg.  */
                                                         return 2238;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx101100xxxxxxxxxx
                                                            luti2.  */
                                                         return 3640;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx1xxxxx101x10xxxxxxxxxx
                                                        luti2.  */
                                                     return 3641;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx101001xxxxxxxxxx
                                                            luti4.  */
                                                         return 3642;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx101101xxxxxxxxxx
                                                            luti4.  */
                                                         return 3643;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        010001x1xx1xxxxx101x11xxxxxxxxxx
                                                        luti4.  */
                                                     return 3644;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x1x01xxxxx101xxxxxxxxxxxxx
                                                    ldff1sw.  */
                                                 return 1837;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x1x11xxxxx101xxxxxxxxxxxxx
                                                    ldff1sw.  */
                                                 return 1836;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx011000xxxxxxxxxx
                                                            sqdmullb.  */
                                                         return 2335;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx011100xxxxxxxxxx
                                                            smullb.  */
                                                         return 2307;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x1x00xxxxx011010xxxxxxxxxx
                                                                pmullb.  */
                                                             return 2482;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x1x10xxxxx011010xxxxxxxxxx
                                                                pmullb.  */
                                                             return 2263;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx011110xxxxxxxxxx
                                                            umullb.  */
                                                         return 2432;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx011001xxxxxxxxxx
                                                            sqdmullt.  */
                                                         return 2338;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx011101xxxxxxxxxx
                                                            smullt.  */
                                                         return 2310;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x1x00xxxxx011011xxxxxxxxxx
                                                                pmullt.  */
                                                             return 2483;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                010001x1x10xxxxx011011xxxxxxxxxx
                                                                pmullt.  */
                                                             return 2264;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx011111xxxxxxxxxx
                                                            umullt.  */
                                                         return 2435;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x10x0xxxxx011xxxxxxxxxxxxx
                                                    ldff1w.  */
                                                 return 1842;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x11x0xxxxx011xxxxxxxxxxxxx
                                                    ldff1d.  */
                                                 return 1798;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011000xxxxxxxxxx
                                                            addhnb.  */
                                                         return 2199;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011100xxxxxxxxxx
                                                            subhnb.  */
                                                         return 2397;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011010xxxxxxxxxx
                                                            raddhnb.  */
                                                         return 2265;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011110xxxxxxxxxx
                                                            rsubhnb.  */
                                                         return 2269;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011001xxxxxxxxxx
                                                            addhnt.  */
                                                         return 2200;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011101xxxxxxxxxx
                                                            subhnt.  */
                                                         return 2398;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011011xxxxxxxxxx
                                                            raddhnt.  */
                                                         return 2266;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx1xxxxx011111xxxxxxxxxx
                                                            rsubhnt.  */
                                                         return 2270;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x10x1xxxxx011xxxxxxxxxxxxx
                                                    ldff1w.  */
                                                 return 1843;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    110001x11x1xxxxx011xxxxxxxxxxxxx
                                                    ldff1d.  */
                                                 return 1799;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111000xxxxxxxxxx
                                                            ssra.  */
                                                         return 2383;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111100xxxxxxxxxx
                                                            sri.  */
                                                         return 2376;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111010xxxxxxxxxx
                                                            srsra.  */
                                                         return 2380;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111110xxxxxxxxxx
                                                            saba.  */
                                                         return 2271;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111001xxxxxxxxxx
                                                            usra.  */
                                                         return 2460;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111101xxxxxxxxxx
                                                            sli.  */
                                                         return 2289;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111011xxxxxxxxxx
                                                            ursra.  */
                                                         return 2456;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            010001x1xx0xxxxx111111xxxxxxxxxx
                                                            uaba.  */
                                                         return 2402;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1000xxxxx111xxxxxxxxxxxxx
                                                        prfw.  */
                                                     return 1940;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1100xxxxx111xxxxxxxxxxxxx
                                                        prfd.  */
                                                     return 1926;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1010xxxxx111xxxxxxxxxxxxx
                                                        ldff1w.  */
                                                     return 1844;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1110xxxxx111xxxxxxxxxxxxx
                                                        ldff1d.  */
                                                     return 1800;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 31) & 0x1) == 0)
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 17) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xxx00111000xxxxxxxxxx
                                                                            aesmc.  */
                                                                         return 2481;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xxx10111000xxxxxxxxxx
                                                                            aese.  */
                                                                         return 2479;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        010001x1001xxxx1111000xxxxxxxxxx
                                                                        sm4e.  */
                                                                     return 2476;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x1001xxxxx111100xxxxxxxxxx
                                                                    sm4ekey.  */
                                                                 return 2477;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx0x0111010xxxxxxxxxx
                                                                            aese.  */
                                                                         return 2494;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx1x0111010xxxxxxxxxx
                                                                            aese.  */
                                                                         return 2495;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx0x1111010xxxxxxxxxx
                                                                            aesemc.  */
                                                                         return 2492;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx1x1111010xxxxxxxxxx
                                                                            aesemc.  */
                                                                         return 2493;
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x1001xxxxx111110xxxxxxxxxx
                                                                    pmull.  */
                                                                 return 2497;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        010001x1001xxx0x111001xxxxxxxxxx
                                                                        aesimc.  */
                                                                     return 2480;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        010001x1001xxx1x111001xxxxxxxxxx
                                                                        aesd.  */
                                                                     return 2478;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x1001xxxxx111101xxxxxxxxxx
                                                                    rax1.  */
                                                                 return 2484;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 16) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx0x0111011xxxxxxxxxx
                                                                            aesd.  */
                                                                         return 2490;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx1x0111011xxxxxxxxxx
                                                                            aesd.  */
                                                                         return 2491;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 18) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx0x1111011xxxxxxxxxx
                                                                            aesdimc.  */
                                                                         return 2488;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            010001x1001xx1x1111011xxxxxxxxxx
                                                                            aesdimc.  */
                                                                         return 2489;
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    010001x1001xxxxx111111xxxxxxxxxx
                                                                    pmlal.  */
                                                                 return 2496;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        110001x1001xxxxx111xxxxxxxxxxxxx
                                                        ldff1w.  */
                                                     return 1847;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x1101xxxxx111xxxxxxxxxxxxx
                                                    ldff1d.  */
                                                 return 1802;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x1011xxxxx111xxxxxxxxxxxxx
                                                    ldff1w.  */
                                                 return 1845;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10001x1111xxxxx111xxxxxxxxxxxxx
                                                    ldff1d.  */
                                                 return 1801;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 15) & 0x1) == 0)
                       {
                         if (((word >> 14) & 0x1) == 0)
                           {
                             if (((word >> 13) & 0x1) == 0)
                               {
                                 if (((word >> 30) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1xx0xxxxx000xxxxxxxx0xxxx
                                                    cmpge.  */
                                                 return 1486;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1xx0xxxxx000xxxxxxxx1xxxx
                                                    cmpgt.  */
                                                 return 1489;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x10x0xxxxx000xxxxxxxxxxxxx
                                                    ld1rqw.  */
                                                 return 1713;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x11x0xxxxx000xxxxxxxxxxxxx
                                                    ld1rqd.  */
                                                 return 1709;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000000xxxxx0xxxx
                                                                whilege.  */
                                                             return 2465;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000100xxxxx0xxxx
                                                                whilege.  */
                                                             return 2466;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000010xxxxx0xxxx
                                                                whilehs.  */
                                                             return 2471;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000110xxxxx0xxxx
                                                                whilehs.  */
                                                             return 2472;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000001xxxxx0xxxx
                                                                whilelt.  */
                                                             return 2177;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000101xxxxx0xxxx
                                                                whilelt.  */
                                                             return 2178;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000011xxxxx0xxxx
                                                                whilelo.  */
                                                             return 2173;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000111xxxxx0xxxx
                                                                whilelo.  */
                                                             return 2174;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 10) & 0x1) == 0)
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000000xxxxx1xxxx
                                                                whilegt.  */
                                                             return 2467;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000100xxxxx1xxxx
                                                                whilegt.  */
                                                             return 2468;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000010xxxxx1xxxx
                                                                whilehi.  */
                                                             return 2469;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000110xxxxx1xxxx
                                                                whilehi.  */
                                                             return 2470;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 11) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000001xxxxx1xxxx
                                                                whilele.  */
                                                             return 2171;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000101xxxxx1xxxx
                                                                whilele.  */
                                                             return 2172;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000011xxxxx1xxxx
                                                                whilels.  */
                                                             return 2175;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx000111xxxxx1xxxx
                                                                whilels.  */
                                                             return 2176;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x10x1xxxxx000xxxxxxxxxxxxx
                                                    ld1row.  */
                                                 return 3199;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x11x1xxxxx000xxxxxxxxxxxxx
                                                    ld1rod.  */
                                                 return 3200;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x1xx0xxxxx000x00xxxxxxxxxx
                                                        fadd.  */
                                                     return 1544;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x1xx0xxxxx000010xxxxxxxxxx
                                                            fmul.  */
                                                         return 1611;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x1xx0xxxxx000110xxxxxxxxxx
                                                            frecps.  */
                                                         return 1624;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x1xx0xxxxx000x01xxxxxxxxxx
                                                        fsub.  */
                                                     return 1637;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x1xx0xxxxx000011xxxxxxxxxx
                                                            ftsmul.  */
                                                         return 1643;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x1xx0xxxxx000111xxxxxxxxxx
                                                            frsqrts.  */
                                                         return 1634;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx1xxxxx000xxxxxxxxxxxxx
                                                fmla.  */
                                             return 1602;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            111001x1xxxxxxxx000xxxxxxxxxxxxx
                                            str.  */
                                         return 2091;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1xx0xxxxx001xxxxxxxx0xxxx
                                                    cmplt.  */
                                                 return 1503;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1xx0xxxxx001xxxxxxxx1xxxx
                                                    cmple.  */
                                                 return 1497;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x10x00xxxx001xxxxxxxxxxxxx
                                                        ld1rqw.  */
                                                     return 1712;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x11x00xxxx001xxxxxxxxxxxxx
                                                        ld1rqd.  */
                                                     return 1708;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x10x01xxxx001xxxxxxxxxxxxx
                                                        ld1w.  */
                                                     return 3565;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x11x01xxxx001xxxxxxxxxxxxx
                                                        ld1d.  */
                                                     return 3563;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000000001xxxxxxxxxxxxx
                                                                    faddv.  */
                                                                 return 1548;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 4) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx010000001xxxxxxxx0xxxx
                                                                        fcmge.  */
                                                                     return 1555;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx010000001xxxxxxxx1xxxx
                                                                        fcmgt.  */
                                                                     return 1557;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 10) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 11) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x1xx001000001x00xxxxxxxxxx
                                                                            f1cvt.  */
                                                                         return 3602;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x1xx001000001x10xxxxxxxxxx
                                                                            bf1cvt.  */
                                                                         return 3598;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 11) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x1xx001000001x01xxxxxxxxxx
                                                                            f2cvt.  */
                                                                         return 3603;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x1xx001000001x11xxxxxxxxxx
                                                                            bf2cvt.  */
                                                                         return 3599;
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011000001xxxxxxxxxxxxx
                                                                    fadda.  */
                                                                 return 1547;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x1xx0xx100001xxxxxxxxxxxxx
                                                            fmaxnmv.  */
                                                         return 1594;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x1xx0x0010001xxxxxxxxxxxxx
                                                                fcmeq.  */
                                                             return 1553;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 10) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 11) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1010001x00xxxxxxxxxx
                                                                        fcvtn.  */
                                                                     return 3607;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1010001x10xxxxxxxxxx
                                                                        bfcvtn.  */
                                                                     return 3606;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 11) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1010001x01xxxxxxxxxx
                                                                        fcvtnb.  */
                                                                     return 3608;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1010001x11xxxxxxxxxx
                                                                        fcvtnt.  */
                                                                     return 3609;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x1xx0x0110001xxxxxxxxxxxxx
                                                                fmaxv.  */
                                                             return 1595;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x1xx0x1110001xxxxxxxxxxxxx
                                                                frecpe.  */
                                                             return 1623;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 4) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx0x0001001xxxxxxxx0xxxx
                                                                    fcmlt.  */
                                                                 return 1560;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx0x0001001xxxxxxxx1xxxx
                                                                    fcmle.  */
                                                                 return 1559;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 10) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 11) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1001001x00xxxxxxxxxx
                                                                        f1cvtlt.  */
                                                                     return 3604;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1001001x10xxxxxxxxxx
                                                                        bf1cvtlt.  */
                                                                     return 3600;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 11) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1001001x01xxxxxxxxxx
                                                                        f2cvtlt.  */
                                                                     return 3605;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1xx0x1001001x11xxxxxxxxxx
                                                                        bf2cvtlt.  */
                                                                     return 3601;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x1xx0xx101001xxxxxxxxxxxxx
                                                            fminnmv.  */
                                                         return 1600;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            011001x1xx0xx011001xxxxxxxxxxxxx
                                                            fcmne.  */
                                                         return 1561;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x1xx0x0111001xxxxxxxxxxxxx
                                                                fminv.  */
                                                             return 1601;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x1xx0x1111001xxxxxxxxxxxxx
                                                                frsqrte.  */
                                                             return 1633;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1000xxxxx001xxxxxxxxxxxxx
                                                        stnt1w.  */
                                                     return 2396;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1100xxxxx001xxxxxxxxxxxxx
                                                        stnt1d.  */
                                                     return 2392;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x1x10xxxxx001xxxxxxxxxxxxx
                                                    stnt1w.  */
                                                 return 2395;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xxxxx0010xxxxxxx0xxxx
                                                        ctermeq.  */
                                                     return 1518;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xxxxx0011xxxxxxx0xxxx
                                                        whilewr.  */
                                                     return 2474;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xxxxx0010xxxxxxx1xxxx
                                                        ctermne.  */
                                                     return 1519;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xxxxx0011xxxxxxx1xxxx
                                                        whilerw.  */
                                                     return 2473;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x10x1xxxxx001xxxxxxxxxxxxx
                                                    ld1row.  */
                                                 return 3203;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x11x1xxxxx001xxxxxxxxxxxxx
                                                    ld1rod.  */
                                                 return 3204;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x11001x1xx1xxxxx001xxxxxxxxxxxxx
                                            fmls.  */
                                         return 1606;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 9) & 0x1) == 0)
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         if (((word >> 4) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x10000xxxx01xxxx0xxxx0xxxx
                                                                and.  */
                                                             return 1449;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x10000xxxx01xxxx0xxxx1xxxx
                                                                bic.  */
                                                             return 1461;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x100010xxx01xxxx0xxxxxxxxx
                                                                brka.  */
                                                             return 1463;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x100011xxx01xxxx0xxxxxxxxx
                                                                brkn.  */
                                                             return 1467;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 4) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1000xxxxx01xxxx1xxxx0xxxx
                                                            eor.  */
                                                         return 1536;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1000xxxxx01xxxx1xxxx1xxxx
                                                            sel.  */
                                                         return 1971;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1000xxxxx010xxxxxxxxxxxxx
                                                        ld1sh.  */
                                                     return 1735;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1000xxxxx011xxxxxxxxxxxxx
                                                        ldff1sh.  */
                                                     return 1824;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 9) & 0x1) == 0)
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         if (((word >> 4) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x11000xxxx01xxxx0xxxx0xxxx
                                                                orr.  */
                                                             return 1906;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x11000xxxx01xxxx0xxxx1xxxx
                                                                orn.  */
                                                             return 1901;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x11001xxxx01xxxx0xxxxxxxxx
                                                            brkb.  */
                                                         return 1465;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 4) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1100xxxxx01xxxx1xxxx0xxxx
                                                            nor.  */
                                                         return 1898;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1100xxxxx01xxxx1xxxx1xxxx
                                                            nand.  */
                                                         return 1895;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1100xxxxx010xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1723;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1100xxxxx011xxxxxxxxxxxxx
                                                        ldff1sb.  */
                                                     return 1815;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 4) & 0x1) == 0)
                                                   {
                                                     if (((word >> 9) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x10100xxxx01xxxx0xxxx0xxxx
                                                                ands.  */
                                                             return 1450;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x101010xxx01xxxx0xxxx0xxxx
                                                                    brkas.  */
                                                                 return 1464;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x101011xxx01xxxx0xxxx0xxxx
                                                                    brkns.  */
                                                                 return 1468;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1010xxxxx01xxxx1xxxx0xxxx
                                                            eors.  */
                                                         return 1537;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1010xxxxx01xxxxxxxxx1xxxx
                                                        bics.  */
                                                     return 1462;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1010xxxxx010xxxxxxxxxxxxx
                                                        ld1w.  */
                                                     return 1754;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1010xxxxx011xxxxxxxxxxxxx
                                                        ldff1w.  */
                                                     return 1840;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 31) & 0x1) == 0)
                                               {
                                                 if (((word >> 4) & 0x1) == 0)
                                                   {
                                                     if (((word >> 9) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x11100xxxx01xxxx0xxxx0xxxx
                                                                orrs.  */
                                                             return 1907;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x11101xxxx01xxxx0xxxx0xxxx
                                                                brkbs.  */
                                                             return 1466;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1110xxxxx01xxxx1xxxx0xxxx
                                                            nors.  */
                                                         return 1899;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 9) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1110xxxxx01xxxx0xxxx1xxxx
                                                            orns.  */
                                                         return 1902;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1110xxxxx01xxxx1xxxx1xxxx
                                                            nands.  */
                                                         return 1896;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1110xxxxx010xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1725;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1110xxxxx011xxxxxxxxxxxxx
                                                        ldff1sb.  */
                                                     return 1817;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 4) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                001001x1xx1xxxxx01xxxxxxxxx0xxxx
                                                psel.  */
                                             return 2549;
                                           }
                                         else
                                           {
                                             if (((word >> 10) & 0x1) == 0)
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 3) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x000xxxxx10xxx
                                                                whilege.  */
                                                             return 3032;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x000xxxxx11xxx
                                                                whilegt.  */
                                                             return 3033;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 13) & 0x1) == 0)
                                                           {
                                                             if (((word >> 0) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xxxxx010100xxxxx1xxx0
                                                                    whilege.  */
                                                                 return 2569;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xxxxx010100xxxxx1xxx1
                                                                    whilegt.  */
                                                                 return 2570;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx011100xxxxx1xxxx
                                                                pext.  */
                                                             return 2773;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 3) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x010xxxxx10xxx
                                                                whilehs.  */
                                                             return 3035;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x010xxxxx11xxx
                                                                whilehi.  */
                                                             return 3034;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 13) & 0x1) == 0)
                                                           {
                                                             if (((word >> 0) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xxxxx010110xxxxx1xxx0
                                                                    whilehs.  */
                                                                 return 2572;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xxxxx010110xxxxx1xxx1
                                                                    whilehi.  */
                                                                 return 2571;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx011110xxxxx1xxxx
                                                                ptrue.  */
                                                             return 2775;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 11) & 0x1) == 0)
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 3) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x001xxxxx10xxx
                                                                whilelt.  */
                                                             return 3039;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x001xxxxx11xxx
                                                                whilele.  */
                                                             return 3036;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 13) & 0x1) == 0)
                                                           {
                                                             if (((word >> 0) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xxxxx010101xxxxx1xxx0
                                                                    whilelt.  */
                                                                 return 2576;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xxxxx010101xxxxx1xxx1
                                                                    whilele.  */
                                                                 return 2573;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx011101xxxxx1xxxx
                                                                pext.  */
                                                             return 2774;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 12) & 0x1) == 0)
                                                       {
                                                         if (((word >> 3) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x011xxxxx10xxx
                                                                whilelo.  */
                                                             return 3037;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x011xxxxx11xxx
                                                                whilels.  */
                                                             return 3038;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 0) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x111xxxxx1xxx0
                                                                whilelo.  */
                                                             return 2574;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxxxx01x111xxxxx1xxx1
                                                                whilels.  */
                                                             return 2575;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1001xxxxx010xxxxxxxxxxxxx
                                                        ld1sh.  */
                                                     return 1736;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1101xxxxx010xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1724;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1011xxxxx010xxxxxxxxxxxxx
                                                        ld1w.  */
                                                     return 1755;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1111xxxxx010xxxxxxxxxxxxx
                                                        ld1d.  */
                                                     return 1677;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1001xxxxx011xxxxxxxxxxxxx
                                                        ldff1sh.  */
                                                     return 1825;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1101xxxxx011xxxxxxxxxxxxx
                                                        ldff1sb.  */
                                                     return 1816;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1011xxxxx011xxxxxxxxxxxxx
                                                        ldff1w.  */
                                                     return 1841;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1111xxxxx011xxxxxxxxxxxxx
                                                        ldff1d.  */
                                                     return 1797;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011001x1xx0xxxxx010xxxxxxxx0xxxx
                                                    fcmge.  */
                                                 return 1556;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011001x1xx0xxxxx010xxxxxxxx1xxxx
                                                    fcmgt.  */
                                                 return 1558;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx1xxxxx010xxxxxxxxxxxxx
                                                fnmla.  */
                                             return 1620;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x100xxxxxx010xxxxxxxxxxxxx
                                                    st1w.  */
                                                 return 3570;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x110xxxxxx010xxxxxxxxxxxxx
                                                    str.  */
                                                 return 2093;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1010xxxxx010xxxxxxxxxxxxx
                                                        st1w.  */
                                                     return 2051;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1110xxxxx010xxxxxxxxxxxxx
                                                        st1d.  */
                                                     return 3568;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1011xxxxx010xxxxxxxxxxxxx
                                                        st1w.  */
                                                     return 2053;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1111xxxxx010xxxxxxxxxxxxx
                                                        st1d.  */
                                                     return 2030;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011001x1xx0xxxxx011xxxxxxxx0xxxx
                                                    fcmeq.  */
                                                 return 1554;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011001x1xx0xxxxx011xxxxxxxx1xxxx
                                                    fcmne.  */
                                                 return 1562;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1000xxxxx011xxxxxxxxxxxxx
                                                        stnt1w.  */
                                                     return 2089;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1100xxxxx011xxxxxxxxxxxxx
                                                        stnt1d.  */
                                                     return 2085;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1010xxxxx011xxxxxxxxxxxxx
                                                        st3w.  */
                                                     return 2073;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1110xxxxx011xxxxxxxxxxxxx
                                                        st3d.  */
                                                     return 2069;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx1xxxxx011xxxxxxxxxxxxx
                                                fnmls.  */
                                             return 1621;
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1001xxxxx011xxxxxxxxxxxxx
                                                        st2w.  */
                                                     return 2065;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1101xxxxx011xxxxxxxxxxxxx
                                                        st2d.  */
                                                     return 2061;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1011xxxxx011xxxxxxxxxxxxx
                                                        st4w.  */
                                                     return 2081;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1111xxxxx011xxxxxxxxxxxxx
                                                        st4d.  */
                                                     return 2077;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 21) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 14) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1xx0xxxxx100xxxxxxxx0xxxx
                                                    cmpeq.  */
                                                 return 1483;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1xx0xxxxx100xxxxxxxx1xxxx
                                                    cmpne.  */
                                                 return 1506;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x10x0xxxxx100xxxxxxxxxxxxx
                                                    ld1w.  */
                                                 return 3566;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x11x0xxxxx100xxxxxxxxxxxxx
                                                    ld1d.  */
                                                 return 3564;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 20) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x10000xxxx101xxxxxxxxxxxxx
                                                        ld1sh.  */
                                                     return 1742;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x11000xxxx101xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1729;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x10100xxxx101xxxxxxxxxxxxx
                                                        ld1w.  */
                                                     return 1761;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x11100xxxx101xxxxxxxxxxxxx
                                                        ld1sb.  */
                                                     return 1731;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x10001xxxx101xxxxxxxxxxxxx
                                                        ldnf1sh.  */
                                                     return 1859;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x11001xxxx101xxxxxxxxxxxxx
                                                        ldnf1sb.  */
                                                     return 1856;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x10101xxxx101xxxxxxxxxxxxx
                                                        ldnf1w.  */
                                                     return 1862;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x01001x11101xxxx101xxxxxxxxxxxxx
                                                        ldnf1sb.  */
                                                     return 1858;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 4) & 0x1) == 0)
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1x000xxxx11xxxxxxxxx0xxxx
                                                        brkpa.  */
                                                     return 1469;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1x100xxxx11xxxxxxxxx0xxxx
                                                        brkpas.  */
                                                     return 1470;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1xx010xx011xxxxxxxxx0xxxx
                                                            ptest.  */
                                                         return 1941;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 10) & 0x1) == 0)
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 13) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        001001x1xx011xx01100x0xxxxx0xxxx
                                                                        pfirst.  */
                                                                     return 1911;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        001001x1xx011xx01110x0xxxxx0xxxx
                                                                        ptrue.  */
                                                                     return 1942;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        001001x1x0011xx011x1x0xxxxx0xxxx
                                                                        rdffr.  */
                                                                     return 1948;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        001001x1x1011xx011x1x0xxxxx0xxxx
                                                                        rdffrs.  */
                                                                     return 1949;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx011xx011xxx1xxxxx0xxxx
                                                                pfalse.  */
                                                             return 1909;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 12) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx01xxx111x0x0xxxxx0xxxx
                                                                ptrues.  */
                                                             return 1943;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx01xxx111x1x0xxxxx0xxxx
                                                                rdffr.  */
                                                             return 1947;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1xx01xxx111xxx1xxxxx0xxxx
                                                            pnext.  */
                                                         return 1912;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1x00xxxxx11xxxxxxxxx1xxxx
                                                    brkpb.  */
                                                 return 1471;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    001001x1x10xxxxx11xxxxxxxxx1xxxx
                                                    brkpbs.  */
                                                 return 1472;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1000xxxxx110xxxxxxxxxxxxx
                                                        ldnt1w.  */
                                                     return 1870;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1100xxxxx110xxxxxxxxxxxxx
                                                        ldnt1d.  */
                                                     return 1866;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1010xxxxx110xxxxxxxxxxxxx
                                                        ld3w.  */
                                                     return 1778;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1110xxxxx110xxxxxxxxxxxxx
                                                        ld3d.  */
                                                     return 1774;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x10000xxxx111xxxxxxxxxxxxx
                                                            ldnt1w.  */
                                                         return 1871;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x11000xxxx111xxxxxxxxxxxxx
                                                            ldnt1d.  */
                                                         return 1867;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x10100xxxx111xxxxxxxxxxxxx
                                                            ld3w.  */
                                                         return 1779;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x11100xxxx111xxxxxxxxxxxxx
                                                            ld3d.  */
                                                         return 1775;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x10x01xxxx111xxxxxxxxxxxxx
                                                        ld3q.  */
                                                     return 3573;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x11x01xxxx111xxxxxxxxxxxxx
                                                        ld4q.  */
                                                     return 3574;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 19) & 0x1) == 0)
                                               {
                                                 if (((word >> 20) & 0x1) == 0)
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         if (((word >> 17) & 0x1) == 0)
                                                           {
                                                             if (((word >> 18) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000000100xxxxxxxxxxxxx
                                                                    fadd.  */
                                                                 return 1545;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000100100xxxxxxxxxxxxx
                                                                    fmaxnm.  */
                                                                 return 1592;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 18) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000010100xxxxxxxxxxxxx
                                                                    fmul.  */
                                                                 return 1612;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000110100xxxxxxxxxxxxx
                                                                    fmax.  */
                                                                 return 1590;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 17) & 0x1) == 0)
                                                           {
                                                             if (((word >> 18) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000001100xxxxxxxxxxxxx
                                                                    fsub.  */
                                                                 return 1638;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000101100xxxxxxxxxxxxx
                                                                    fminnm.  */
                                                                 return 1598;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 18) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000011100xxxxxxxxxxxxx
                                                                    fsubr.  */
                                                                 return 1640;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000111100xxxxxxxxxxxxx
                                                                    fmin.  */
                                                                 return 1596;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        011001x1xx010xxx100xxxxxxxxxxxxx
                                                        ftmad.  */
                                                     return 1642;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 17) & 0x1) == 0)
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001000100xxxxxxxxxxxxx
                                                                    fabd.  */
                                                                 return 1540;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011000100xxxxxxxxxxxxx
                                                                    fadd.  */
                                                                 return 1546;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001100100xxxxxxxxxxxxx
                                                                    fdivr.  */
                                                                 return 1586;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011100100xxxxxxxxxxxxx
                                                                    fmaxnm.  */
                                                                 return 1593;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001010100xxxxxxxxxxxxx
                                                                    fmulx.  */
                                                                 return 1617;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011010100xxxxxxxxxxxxx
                                                                    fmul.  */
                                                                 return 1613;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001110100xxxxxxxxxxxxx
                                                                    famax.  */
                                                                 return 1308;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011110100xxxxxxxxxxxxx
                                                                    fmax.  */
                                                                 return 1591;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 17) & 0x1) == 0)
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001001100xxxxxxxxxxxxx
                                                                    fscale.  */
                                                                 return 1635;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011001100xxxxxxxxxxxxx
                                                                    fsub.  */
                                                                 return 1639;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001101100xxxxxxxxxxxxx
                                                                    fdiv.  */
                                                                 return 1585;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011101100xxxxxxxxxxxxx
                                                                    fminnm.  */
                                                                 return 1599;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x1xx0x1011100xxxxxxxxxxxxx
                                                                fsubr.  */
                                                             return 1641;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001111100xxxxxxxxxxxxx
                                                                    famin.  */
                                                                 return 1309;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011111100xxxxxxxxxxxxx
                                                                    fmin.  */
                                                                 return 1597;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011001x1xx0xxxxx110xxxxxxxx0xxxx
                                                    fcmuo.  */
                                                 return 1563;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    011001x1xx0xxxxx110xxxxxxxx1xxxx
                                                    facge.  */
                                                 return 1542;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x1000xxxxx1x0xxxxxxxxxxxxx
                                                    st1w.  */
                                                 return 2047;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x1100xxxxx1x0xxxxxxxxxxxxx
                                                    st1d.  */
                                                 return 2026;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                111001x1x10xxxxx1x0xxxxxxxxxxxxx
                                                st1w.  */
                                             return 2052;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 19) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 17) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000000101xxxxxxxxxxxxx
                                                                    frintn.  */
                                                                 return 1629;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000010101xxxxxxxxxxxxx
                                                                    frintm.  */
                                                                 return 1628;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1x00100x0101xxxxxxxxxxxxx
                                                                    frint32z.  */
                                                                 return 3759;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1010000101xxxxxxxxxxxxx
                                                                        scvtf.  */
                                                                     return 1961;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1010010101xxxxxxxxxxxxx
                                                                        scvtf.  */
                                                                     return 1958;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 17) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000100101xxxxxxxxxxxxx
                                                                    frinta.  */
                                                                 return 1626;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000110101xxxxxxxxxxxxx
                                                                    frintx.  */
                                                                 return 1631;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1000101x0101xxxxxxxxxxxxx
                                                                        frint64z.  */
                                                                     return 3763;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1100101x0101xxxxxxxxxxxxx
                                                                        scvtf.  */
                                                                     return 1960;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x101010100101xxxxxxxxxxxxx
                                                                            scvtf.  */
                                                                         return 1959;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x111010100101xxxxxxxxxxxxx
                                                                            scvtf.  */
                                                                         return 1963;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x101010110101xxxxxxxxxxxxx
                                                                            scvtf.  */
                                                                         return 1962;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x111010110101xxxxxxxxxxxxx
                                                                            scvtf.  */
                                                                         return 1964;
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         if (((word >> 17) & 0x1) == 0)
                                                           {
                                                             if (((word >> 18) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x0001000101xxxxxxxxxxxxx
                                                                        fcvt.  */
                                                                     return 1565;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1001000101xxxxxxxxxxxxx
                                                                        fcvt.  */
                                                                     return 1567;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001100101xxxxxxxxxxxxx
                                                                    frecpx.  */
                                                                 return 1625;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x100001x10101xxxxxxxxxxxxx
                                                                        fcvtx.  */
                                                                     return 2222;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x110001x10101xxxxxxxxxxxxx
                                                                        bfcvt.  */
                                                                     return 3220;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1x1001x10101xxxxxxxxxxxxx
                                                                    fcvt.  */
                                                                 return 1569;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x100011xx0101xxxxxxxxxxxxx
                                                                    flogb.  */
                                                                 return 2224;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x110011xx0101xxxxxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 1574;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 17) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 18) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1011000101xxxxxxxxxxxxx
                                                                        fcvtzs.  */
                                                                     return 1575;
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x101011100101xxxxxxxxxxxxx
                                                                            fcvtzs.  */
                                                                         return 1572;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x111011100101xxxxxxxxxxxxx
                                                                            fcvtzs.  */
                                                                         return 1576;
                                                                       }
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 18) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1011010101xxxxxxxxxxxxx
                                                                        fcvtzs.  */
                                                                     return 1571;
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x101011110101xxxxxxxxxxxxx
                                                                            fcvtzs.  */
                                                                         return 1573;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x111011110101xxxxxxxxxxxxx
                                                                            fcvtzs.  */
                                                                         return 1577;
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 17) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000001101xxxxxxxxxxxxx
                                                                    frintp.  */
                                                                 return 1630;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx000011101xxxxxxxxxxxxx
                                                                    frintz.  */
                                                                 return 1632;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1x00100x1101xxxxxxxxxxxxx
                                                                    frint32x.  */
                                                                 return 3757;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1010001101xxxxxxxxxxxxx
                                                                        ucvtf.  */
                                                                     return 2114;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1010011101xxxxxxxxxxxxx
                                                                        ucvtf.  */
                                                                     return 2111;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 17) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x0001001101xxxxxxxxxxxxx
                                                                        fcvt.  */
                                                                     return 1566;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x1001001101xxxxxxxxxxxxx
                                                                        fcvt.  */
                                                                     return 1568;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011001101xxxxxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 1582;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001011101xxxxxxxxxxxxx
                                                                    fcvt.  */
                                                                 return 1570;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx011011101xxxxxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 1578;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                011001x1xx0001x1101xxxxxxxxxxxxx
                                                                frinti.  */
                                                             return 1627;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 22) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1000101x1101xxxxxxxxxxxxx
                                                                        frint64x.  */
                                                                     return 3761;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1100101x1101xxxxxxxxxxxxx
                                                                        ucvtf.  */
                                                                     return 2113;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 17) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x101010101101xxxxxxxxxxxxx
                                                                            ucvtf.  */
                                                                         return 2112;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x111010101101xxxxxxxxxxxxx
                                                                            ucvtf.  */
                                                                         return 2116;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x101010111101xxxxxxxxxxxxx
                                                                            ucvtf.  */
                                                                         return 2115;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x111010111101xxxxxxxxxxxxx
                                                                            ucvtf.  */
                                                                         return 2117;
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 17) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x1xx001101101xxxxxxxxxxxxx
                                                                    fsqrt.  */
                                                                 return 1636;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 22) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        011001x1x0011101101xxxxxxxxxxxxx
                                                                        fcvtzu.  */
                                                                     return 1581;
                                                                   }
                                                                 else
                                                                   {
                                                                     if (((word >> 23) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x101011101101xxxxxxxxxxxxx
                                                                            fcvtzu.  */
                                                                         return 1579;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            011001x111011101101xxxxxxxxxxxxx
                                                                            fcvtzu.  */
                                                                         return 1583;
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x10x0x1111101xxxxxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 1580;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    011001x11x0x1111101xxxxxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 1584;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1000xxxxx101xxxxxxxxxxxxx
                                                        st1w.  */
                                                     return 2048;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1100xxxxx101xxxxxxxxxxxxx
                                                        st1d.  */
                                                     return 2027;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1010xxxxx101xxxxxxxxxxxxx
                                                        st1w.  */
                                                     return 2055;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1110xxxxx101xxxxxxxxxxxxx
                                                        st1d.  */
                                                     return 2031;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx0xxxxx111xxxxxxxxxxxxx
                                                facgt.  */
                                             return 1543;
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1x000xxxx111xxxxxxxxxxxxx
                                                        st1w.  */
                                                     return 3569;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x10100xxxx111xxxxxxxxxxxxx
                                                            st1w.  */
                                                         return 2056;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x11100xxxx111xxxxxxxxxxxxx
                                                            st1d.  */
                                                         return 3567;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x10001xxxx111xxxxxxxxxxxxx
                                                            stnt1w.  */
                                                         return 2090;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x11001xxxx111xxxxxxxxxxxxx
                                                            stnt1d.  */
                                                         return 2086;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x10101xxxx111xxxxxxxxxxxxx
                                                            st3w.  */
                                                         return 2074;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x11101xxxx111xxxxxxxxxxxxx
                                                            st3d.  */
                                                         return 2070;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 14) & 0x1) == 0)
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 9) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1x000010xxxx0xxxxxxxxx
                                                                cntp.  */
                                                             return 1512;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 10) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 11) & 0x1) == 0)
                                                                   {
                                                                     if (((word >> 12) & 0x1) == 0)
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            001001x1xx1x100010x0000xxxxxxxxx
                                                                            sqincp.  */
                                                                         return 2005;
                                                                       }
                                                                     else
                                                                       {
                                                                         /* 33222222222211111111110000000000
                                                                            10987654321098765432109876543210
                                                                            001001x1xx1x100010x1000xxxxxxxxx
                                                                            wrffr.  */
                                                                         return 2179;
                                                                       }
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        001001x1xx1x100010xx100xxxxxxxxx
                                                                        sqincp.  */
                                                                     return 2007;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1x100010xxx10xxxxxxxxx
                                                                    sqincp.  */
                                                                 return 2006;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             if (((word >> 12) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xx10010x00x0xxxxxxxxx
                                                                    incp.  */
                                                                 return 1650;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1xx10010x10x0xxxxxxxxx
                                                                    setffr.  */
                                                                 return 1972;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xx10010xx1x0xxxxxxxxx
                                                                incp.  */
                                                             return 1651;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1xx1x0x1010xxxx0xxxxxxxxx
                                                            lastp.  */
                                                         return 3773;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 10) & 0x1) == 0)
                                                           {
                                                             if (((word >> 11) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1x1x1010xx000xxxxxxxxx
                                                                    sqdecp.  */
                                                                 return 1991;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1x1x1010xx100xxxxxxxxx
                                                                    sqdecp.  */
                                                                 return 1993;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1x1x1010xxx10xxxxxxxxx
                                                                sqdecp.  */
                                                             return 1992;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1x000110xxxx0xxxxxxxxx
                                                                firstp.  */
                                                             return 3753;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 10) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 11) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        001001x1xx1x100110xx000xxxxxxxxx
                                                                        uqincp.  */
                                                                     return 2154;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        001001x1xx1x100110xx100xxxxxxxxx
                                                                        uqincp.  */
                                                                     return 2155;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    001001x1xx1x100110xxx10xxxxxxxxx
                                                                    uqincp.  */
                                                                 return 2156;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xx10110xx0x0xxxxxxxxx
                                                                decp.  */
                                                             return 1525;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xx10110xx1x0xxxxxxxxx
                                                                decp.  */
                                                             return 1526;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 10) & 0x1) == 0)
                                                       {
                                                         if (((word >> 11) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxx1110xx000xxxxxxxxx
                                                                uqdecp.  */
                                                             return 2140;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx1xxx1110xx100xxxxxxxxx
                                                                uqdecp.  */
                                                             return 2141;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1xx1xxx1110xxx10xxxxxxxxx
                                                            uqdecp.  */
                                                         return 2142;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                001001x1xx1xxxxx10xxxx1xxxxxxxxx
                                                cntp.  */
                                             return 2612;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x10x1xxxxx100xxxxxxxxxxxxx
                                                    ld3q.  */
                                                 return 3576;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    101001x11x1xxxxx100xxxxxxxxxxxxx
                                                    ld4q.  */
                                                 return 3577;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x10010xxxx101xxxxxxxxxxxxx
                                                            ld1sh.  */
                                                         return 1743;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x11010xxxx101xxxxxxxxxxxxx
                                                            ld1sb.  */
                                                         return 1730;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x10110xxxx101xxxxxxxxxxxxx
                                                            ld1w.  */
                                                         return 1762;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x11110xxxx101xxxxxxxxxxxxx
                                                            ld1d.  */
                                                         return 1682;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x10011xxxx101xxxxxxxxxxxxx
                                                            ldnf1sh.  */
                                                         return 1860;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x11011xxxx101xxxxxxxxxxxxx
                                                            ldnf1sb.  */
                                                         return 1857;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x10111xxxx101xxxxxxxxxxxxx
                                                            ldnf1w.  */
                                                         return 1863;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            101001x11111xxxx101xxxxxxxxxxxxx
                                                            ldnf1d.  */
                                                         return 1852;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 16) & 0x1) == 0)
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx10000011xxxxxxxxxxxxxx
                                                                add.  */
                                                             return 1439;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx11000011xxxxxxxxxxxxxx
                                                                mul.  */
                                                             return 1893;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx10100011xxxxxxxxxxxxxx
                                                                smax.  */
                                                             return 1973;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx11100011xxxxxxxxxxxxxx
                                                                dup.  */
                                                             return 1531;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xx10011xxxxxxxxxxxxxx
                                                        sqadd.  */
                                                     return 1982;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xx01011xxxxxxxxxxxxxx
                                                        smin.  */
                                                     return 1976;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xx11011xxxxxxxxxxxxxx
                                                        sqsub.  */
                                                     return 2012;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1xx1x000111xxxxxxxxxxxxxx
                                                            sub.  */
                                                         return 2095;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx10100111xxxxxxxxxxxxxx
                                                                umax.  */
                                                             return 2123;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                001001x1xx11100111xxxxxxxxxxxxxx
                                                                fdup.  */
                                                             return 1587;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xx10111xxxxxxxxxxxxxx
                                                        uqadd.  */
                                                     return 2131;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1xx1x001111xxxxxxxxxxxxxx
                                                            subr.  */
                                                         return 2097;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            001001x1xx1x101111xxxxxxxxxxxxxx
                                                            umin.  */
                                                         return 2126;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        001001x1xx1xx11111xxxxxxxxxxxxxx
                                                        uqsub.  */
                                                     return 2161;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1001xxxxx110xxxxxxxxxxxxx
                                                        ld2w.  */
                                                     return 1770;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1101xxxxx110xxxxxxxxxxxxx
                                                        ld2d.  */
                                                     return 1766;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1011xxxxx110xxxxxxxxxxxxx
                                                        ld4w.  */
                                                     return 1786;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1111xxxxx110xxxxxxxxxxxxx
                                                        ld4d.  */
                                                     return 1782;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1001xxxxx111xxxxxxxxxxxxx
                                                        ld2w.  */
                                                     return 1771;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1101xxxxx111xxxxxxxxxxxxx
                                                        ld2d.  */
                                                     return 1767;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1011xxxxx111xxxxxxxxxxxxx
                                                        ld4w.  */
                                                     return 1787;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        101001x1111xxxxx111xxxxxxxxxxxxx
                                                        ld4d.  */
                                                     return 1783;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 31) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx1xxxxx100xxxxxxxxxxxxx
                                                fmad.  */
                                             return 1589;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx1xxxxx110xxxxxxxxxxxxx
                                                fnmad.  */
                                             return 1619;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x1001xxxxx1x0xxxxxxxxxxxxx
                                                    st1w.  */
                                                 return 2049;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x1101xxxxx1x0xxxxxxxxxxxxx
                                                    st1d.  */
                                                 return 2028;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                111001x1x11xxxxx1x0xxxxxxxxxxxxx
                                                st1w.  */
                                             return 2054;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx1xxxxx101xxxxxxxxxxxxx
                                                fmsb.  */
                                             return 1610;
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1001xxxxx101xxxxxxxxxxxxx
                                                        st1w.  */
                                                     return 2050;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x1101xxxxx101xxxxxxxxxxxxx
                                                        st1d.  */
                                                     return 2029;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    111001x1x11xxxxx101xxxxxxxxxxxxx
                                                    st1w.  */
                                                 return 2057;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 31) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                011001x1xx1xxxxx111xxxxxxxxxxxxx
                                                fnmsb.  */
                                             return 1622;
                                           }
                                         else
                                           {
                                             if (((word >> 20) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x10x10xxxx111xxxxxxxxxxxxx
                                                        st1w.  */
                                                     return 2058;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        111001x11x10xxxx111xxxxxxxxxxxxx
                                                        st1d.  */
                                                     return 2032;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x10011xxxx111xxxxxxxxxxxxx
                                                            st2w.  */
                                                         return 2066;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x11011xxxx111xxxxxxxxxxxxx
                                                            st2d.  */
                                                         return 2062;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x10111xxxx111xxxxxxxxxxxxx
                                                            st4w.  */
                                                         return 2082;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            111001x11111xxxx111xxxxxxxxxxxxx
                                                            st4d.  */
                                                         return 2078;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }
           }
         else
           {
             if (((word >> 29) & 0x1) == 0)
               {
                 if (((word >> 30) & 0x1) == 0)
                   {
                     if (((word >> 31) & 0x1) == 0)
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            000101xxxxxxxxxxxxxxxxxxxxxxxxxx
                            b.  */
                         return 636;
                       }
                     else
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            100101xxxxxxxxxxxxxxxxxxxxxxxxxx
                            bl.  */
                         return 637;
                       }
                   }
                 else
                   {
                     if (((word >> 24) & 0x1) == 0)
                       {
                         if (((word >> 4) & 0x1) == 0)
                           {
                             if (((word >> 25) & 0x1) == 0)
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        01010100xxxxxxxxxxxxxxxxxxx0xxxx
                                        b.c.  */
                                     return 657;
                                   }
                                 else
                                   {
                                     if (((word >> 0) & 0x1) == 0)
                                       {
                                         if (((word >> 1) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    11010100xx0xxxxxxxxxxxxxxxx0xx00
                                                    hlt.  */
                                                 return 793;
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11010100x01xxxxxxxxxxxxxxxx0xx00
                                                        brk.  */
                                                     return 792;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        11010100x11xxxxxxxxxxxxxxxx0xx00
                                                        tcancel.  */
                                                     return 1324;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    11010100xx0xxxxxxxxxxxxxxxx0xx10
                                                    hvc.  */
                                                 return 790;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    11010100xx1xxxxxxxxxxxxxxxx0xx10
                                                    dcps2.  */
                                                 return 796;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 1) & 0x1) == 0)
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    11010100xx0xxxxxxxxxxxxxxxx0xx01
                                                    svc.  */
                                                 return 789;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    11010100xx1xxxxxxxxxxxxxxxx0xx01
                                                    dcps1.  */
                                                 return 795;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 21) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    11010100xx0xxxxxxxxxxxxxxxx0xx11
                                                    smc.  */
                                                 return 791;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    11010100xx1xxxxxxxxxxxxxxxx0xx11
                                                    dcps3.  */
                                                 return 797;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1010110000xxxxxxxxxxxxxxxx0xxxx
                                                br.  */
                                             return 638;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1010110100xxxxxxxxxxxxxxxx0xxxx
                                                eret.  */
                                             return 641;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1010110x10xxxxxxxxxxxxxxxx0xxxx
                                            ret.  */
                                         return 640;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x10101100x1xxxxxxxxxxxxxxxx0xxxx
                                            blr.  */
                                         return 639;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x10101101x1xxxxxxxxxxxxxxxx0xxxx
                                            drps.  */
                                         return 642;
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 25) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x1010100xxxxxxxxxxxxxxxxxxx1xxxx
                                    bc.c.  */
                                 return 3361;
                               }
                             else
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1010110000xxxxxxxxxx0xxxxx1xxxx
                                                    braaz.  */
                                                 return 647;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1010110100xxxxxxxxxx0xxxxx1xxxx
                                                    eretaa.  */
                                                 return 653;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1010110x10xxxxxxxxxx0xxxxx1xxxx
                                                retaa.  */
                                             return 651;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1010110xx1xxxxxxxxxx0xxxxx1xxxx
                                            blraaz.  */
                                         return 649;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1010110000xxxxxxxxxx1xxxxx1xxxx
                                                    brabz.  */
                                                 return 648;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1010110100xxxxxxxxxx1xxxxx1xxxx
                                                    eretab.  */
                                                 return 654;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1010110x10xxxxxxxxxx1xxxxx1xxxx
                                                retab.  */
                                             return 652;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1010110xx1xxxxxxxxxx1xxxxx1xxxx
                                            blrabz.  */
                                         return 650;
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 21) & 0x1) == 0)
                           {
                             if (((word >> 22) & 0x1) == 0)
                               {
                                 if (((word >> 25) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x1010101x00xxxxxxxxxxxxxxxxxxxxx
                                        xaflag.  */
                                     return 863;
                                   }
                                 else
                                   {
                                     if (((word >> 10) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1010111x00xxxxxxxxxx0xxxxxxxxxx
                                            braa.  */
                                         return 643;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1010111x00xxxxxxxxxx1xxxxxxxxxx
                                            brab.  */
                                         return 644;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 20) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x10101x1x100xxxxxxxxxxxxxxxxxxxx
                                        sysp.  */
                                     return 1372;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x10101x1x101xxxxxxxxxxxxxxxxxxxx
                                        msrr.  */
                                     return 1390;
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 22) & 0x1) == 0)
                               {
                                 if (((word >> 25) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x1010101x01xxxxxxxxxxxxxxxxxxxxx
                                        tstart.  */
                                     return 1321;
                                   }
                                 else
                                   {
                                     if (((word >> 10) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1010111x01xxxxxxxxxx0xxxxxxxxxx
                                            blraa.  */
                                         return 645;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1010111x01xxxxxxxxxx1xxxxxxxxxx
                                            blrab.  */
                                         return 646;
                                       }
                                   }
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    x10101x1x11xxxxxxxxxxxxxxxxxxxxx
                                    mrrs.  */
                                 return 1389;
                               }
                           }
                       }
                   }
               }
             else
               {
                 if (((word >> 24) & 0x1) == 0)
                   {
                     if (((word >> 25) & 0x1) == 0)
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x0110100xxxxxxxxxxxxxxxxxxxxxxxx
                                cbz.  */
                             return 655;
                           }
                         else
                           {
                             if (((word >> 14) & 0x1) == 0)
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100x00xxxxx00xxxxxxxxxxxxxx
                                                cbgt.  */
                                             return 658;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100010xxxxx00xxxxxxxxxxxxxx
                                                    cbhi.  */
                                                 return 662;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100110xxxxx00xxxxxxxxxxxxxx
                                                    cbeq.  */
                                                 return 666;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100x01xxxxx00xxxxxxxxxxxxxx
                                                cbge.  */
                                             return 660;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100011xxxxx00xxxxxxxxxxxxxx
                                                    cbhs.  */
                                                 return 664;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100111xxxxx00xxxxxxxxxxxxxx
                                                    cbne.  */
                                                 return 667;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100x00xxxxx10xxxxxxxxxxxxxx
                                                cbbgt.  */
                                             return 678;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100010xxxxx10xxxxxxxxxxxxxx
                                                    cbbhi.  */
                                                 return 682;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100110xxxxx10xxxxxxxxxxxxxx
                                                    cbbeq.  */
                                                 return 686;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100x01xxxxx10xxxxxxxxxxxxxx
                                                cbbge.  */
                                             return 680;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100011xxxxx10xxxxxxxxxxxxxx
                                                    cbbhs.  */
                                                 return 684;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1110100111xxxxx10xxxxxxxxxxxxxx
                                                    cbbne.  */
                                                 return 687;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1110100x00xxxxxx1xxxxxxxxxxxxxx
                                            cbhgt.  */
                                         return 688;
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100010xxxxxx1xxxxxxxxxxxxxx
                                                cbhhi.  */
                                             return 692;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100110xxxxxx1xxxxxxxxxxxxxx
                                                cbheq.  */
                                             return 696;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1110100x01xxxxxx1xxxxxxxxxxxxxx
                                            cbhge.  */
                                         return 690;
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100011xxxxxx1xxxxxxxxxxxxxx
                                                cbhhs.  */
                                             return 694;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1110100111xxxxxx1xxxxxxxxxxxxxx
                                                cbhne.  */
                                             return 697;
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            xx110110xxxxxxxxxxxxxxxxxxxxxxxx
                            tbz.  */
                         return 1399;
                       }
                   }
                 else
                   {
                     if (((word >> 25) & 0x1) == 0)
                       {
                         if (((word >> 30) & 0x1) == 0)
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                x0110101xxxxxxxxxxxxxxxxxxxxxxxx
                                cbnz.  */
                             return 656;
                           }
                         else
                           {
                             if (((word >> 21) & 0x1) == 0)
                               {
                                 if (((word >> 22) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x1110101x00xxxxxxxxxxxxxxxxxxxxx
                                        cbgt.  */
                                     return 668;
                                   }
                                 else
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1110101010xxxxxxxxxxxxxxxxxxxxx
                                            cbhi.  */
                                         return 672;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1110101110xxxxxxxxxxxxxxxxxxxxx
                                            cbeq.  */
                                         return 676;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 22) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x1110101x01xxxxxxxxxxxxxxxxxxxxx
                                        cblt.  */
                                     return 670;
                                   }
                                 else
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1110101011xxxxxxxxxxxxxxxxxxxxx
                                            cblo.  */
                                         return 674;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1110101111xxxxxxxxxxxxxxxxxxxxx
                                            cbne.  */
                                         return 677;
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            xx110111xxxxxxxxxxxxxxxxxxxxxxxx
                            tbnz.  */
                         return 1400;
                       }
                   }
               }
           }
       }
     else
       {
         if (((word >> 25) & 0x1) == 0)
           {
             if (((word >> 28) & 0x1) == 0)
               {
                 if (((word >> 22) & 0x1) == 0)
                   {
                     if (((word >> 23) & 0x1) == 0)
                       {
                         if (((word >> 24) & 0x1) == 0)
                           {
                             if (((word >> 29) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx00110000xxxxxxxxxxxxxxxxxxxxxx
                                    st4.  */
                                 return 440;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx10110000xxxxxxxxxxxxxxxxxxxxxx
                                    stnp.  */
                                 return 1025;
                               }
                           }
                         else
                           {
                             if (((word >> 29) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 16) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001101000xxxx0xx0xxxxxxxxxxxxx
                                                st1.  */
                                             return 456;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001101001xxxx0xx0xxxxxxxxxxxxx
                                                st2.  */
                                             return 458;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx00110100xxxxx1xx0xxxxxxxxxxxxx
                                            stl1.  */
                                         return 1300;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101000xxxxxxx1xxxxxxxxxxxxx
                                            st3.  */
                                         return 457;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101001xxxxxxx1xxxxxxxxxxxxx
                                            st4.  */
                                         return 459;
                                       }
                                   }
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx10110100xxxxxxxxxxxxxxxxxxxxxx
                                    stp.  */
                                 return 1029;
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 21) & 0x1) == 0)
                               {
                                 if (((word >> 24) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx001100100xxxxxxxxxxxxxxxxxxxxx
                                        st4.  */
                                     return 448;
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101100xxxxxxx0xxxxxxxxxxxxx
                                            st1.  */
                                         return 468;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101100xxxxxxx1xxxxxxxxxxxxx
                                            st3.  */
                                         return 469;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx00110x101xxxxxxx0xxxxxxxxxxxxx
                                        st2.  */
                                     return 470;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx00110x101xxxxxxx1xxxxxxxxxxxxx
                                        st4.  */
                                     return 471;
                                   }
                               }
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                xx10110x10xxxxxxxxxxxxxxxxxxxxxx
                                stp.  */
                             return 1035;
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 23) & 0x1) == 0)
                       {
                         if (((word >> 24) & 0x1) == 0)
                           {
                             if (((word >> 29) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx00110001xxxxxxxxxxxxxxxxxxxxxx
                                    ld4.  */
                                 return 444;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx10110001xxxxxxxxxxxxxxxxxxxxxx
                                    ldnp.  */
                                 return 1026;
                               }
                           }
                         else
                           {
                             if (((word >> 29) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 16) & 0x1) == 0)
                                       {
                                         if (((word >> 21) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001101010xxxx0xx0xxxxxxxxxxxxx
                                                ld1.  */
                                             return 460;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001101011xxxx0xx0xxxxxxxxxxxxx
                                                ld2.  */
                                             return 464;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx00110101xxxxx1xx0xxxxxxxxxxxxx
                                            ldap1.  */
                                         return 1301;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 21) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101010xxxxxxx1xxxxxxxxxxxxx
                                            ld3.  */
                                         return 461;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101011xxxxxxx1xxxxxxxxxxxxx
                                            ld4.  */
                                         return 465;
                                       }
                                   }
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx10110101xxxxxxxxxxxxxxxxxxxxxx
                                    ldp.  */
                                 return 1030;
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 21) & 0x1) == 0)
                               {
                                 if (((word >> 24) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx001100110xxxxxxxxxxxxxxxxxxxxx
                                        ld4.  */
                                     return 452;
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101110xxxxxxx0xxxxxxxxxxxxx
                                            ld1.  */
                                         return 472;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx001101110xxxxxxx1xxxxxxxxxxxxx
                                            ld3.  */
                                         return 473;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx00110x111xxxxxxx0xxxxxxxxxxxxx
                                        ld2.  */
                                     return 476;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx00110x111xxxxxxx1xxxxxxxxxxxxx
                                        ld4.  */
                                     return 477;
                                   }
                               }
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                xx10110x11xxxxxxxxxxxxxxxxxxxxxx
                                ldp.  */
                             return 1036;
                           }
                       }
                   }
               }
             else
               {
                 if (((word >> 24) & 0x1) == 0)
                   {
                     if (((word >> 29) & 0x1) == 0)
                       {
                         /* 33222222222211111111110000000000
                            10987654321098765432109876543210
                            xx011100xxxxxxxxxxxxxxxxxxxxxxxx
                            ldr.  */
                         return 1040;
                       }
                     else
                       {
                         if (((word >> 10) & 0x1) == 0)
                           {
                             if (((word >> 11) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111100x00xxxxxxxxx00xxxxxxxxxx
                                            stur.  */
                                         return 977;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111100x10xxxxxxxxx00xxxxxxxxxx
                                            ldur.  */
                                         return 978;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100001xxxxx000000xxxxxxxxxx
                                                                ldfadd.  */
                                                             return 3129;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100101xxxxx000000xxxxxxxxxx
                                                                ldfadda.  */
                                                             return 3130;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100011xxxxx000000xxxxxxxxxx
                                                                ldfaddl.  */
                                                             return 3132;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100111xxxxx000000xxxxxxxxxx
                                                                ldfaddal.  */
                                                             return 3131;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100x01xxxxx100000xxxxxxxxxx
                                                            stfadd.  */
                                                         return 3169;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100x11xxxxx100000xxxxxxxxxx
                                                            stfaddl.  */
                                                         return 3170;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100001xxxxx010000xxxxxxxxxx
                                                                ldfmax.  */
                                                             return 3133;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100101xxxxx010000xxxxxxxxxx
                                                                ldfmaxa.  */
                                                             return 3134;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100011xxxxx010000xxxxxxxxxx
                                                                ldfmaxl.  */
                                                             return 3136;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111100111xxxxx010000xxxxxxxxxx
                                                                ldfmaxal.  */
                                                             return 3135;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100x01xxxxx110000xxxxxxxxxx
                                                            stfmax.  */
                                                         return 3171;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100x11xxxxx110000xxxxxxxxxx
                                                            stfmaxl.  */
                                                         return 3172;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100001xxxxx0x1000xxxxxxxxxx
                                                            ldfmaxnm.  */
                                                         return 3137;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100101xxxxx0x1000xxxxxxxxxx
                                                            ldfmaxnma.  */
                                                         return 3138;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100011xxxxx0x1000xxxxxxxxxx
                                                            ldfmaxnml.  */
                                                         return 3140;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100111xxxxx0x1000xxxxxxxxxx
                                                            ldfmaxnmal.  */
                                                         return 3139;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111100x01xxxxx1x1000xxxxxxxxxx
                                                        stfmaxnm.  */
                                                     return 3173;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111100x11xxxxx1x1000xxxxxxxxxx
                                                        stfmaxnml.  */
                                                     return 3174;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100001xxxxx0x0100xxxxxxxxxx
                                                            ldfmin.  */
                                                         return 3141;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100101xxxxx0x0100xxxxxxxxxx
                                                            ldfmina.  */
                                                         return 3142;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100011xxxxx0x0100xxxxxxxxxx
                                                            ldfminl.  */
                                                         return 3144;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100111xxxxx0x0100xxxxxxxxxx
                                                            ldfminal.  */
                                                         return 3143;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111100x01xxxxx1x0100xxxxxxxxxx
                                                        stfmin.  */
                                                     return 3175;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111100x11xxxxx1x0100xxxxxxxxxx
                                                        stfminl.  */
                                                     return 3176;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100001xxxxx0x1100xxxxxxxxxx
                                                            ldfminnm.  */
                                                         return 3145;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100101xxxxx0x1100xxxxxxxxxx
                                                            ldfminnma.  */
                                                         return 3146;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100011xxxxx0x1100xxxxxxxxxx
                                                            ldfminnml.  */
                                                         return 3148;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111100111xxxxx0x1100xxxxxxxxxx
                                                            ldfminnmal.  */
                                                         return 3147;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111100x01xxxxx1x1100xxxxxxxxxx
                                                        stfminnm.  */
                                                     return 3177;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111100x11xxxxx1x1100xxxxxxxxxx
                                                        stfminnml.  */
                                                     return 3178;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 22) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx111100x0xxxxxxxxxx10xxxxxxxxxx
                                        str.  */
                                     return 956;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx111100x1xxxxxxxxxx10xxxxxxxxxx
                                        ldr.  */
                                     return 957;
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 22) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx111100x0xxxxxxxxxxx1xxxxxxxxxx
                                    str.  */
                                 return 925;
                               }
                             else
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx111100x1xxxxxxxxxxx1xxxxxxxxxx
                                    ldr.  */
                                 return 926;
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 22) & 0x1) == 0)
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 10) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx011101x0xxxxxxxxxxx0xxxxxxxxxx
                                    stlur.  */
                                 return 1303;
                               }
                             else
                               {
                                 if (((word >> 12) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0000x1xxxxxxxxxx
                                                        cpyp.  */
                                                     return 3289;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0000x1xxxxxxxxxx
                                                        cpye.  */
                                                     return 3291;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1000x1xxxxxxxxxx
                                                        cpyprn.  */
                                                     return 3295;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1000x1xxxxxxxxxx
                                                        cpyern.  */
                                                     return 3297;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0100x1xxxxxxxxxx
                                                        cpypwn.  */
                                                     return 3292;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0100x1xxxxxxxxxx
                                                        cpyewn.  */
                                                     return 3294;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1100x1xxxxxxxxxx
                                                        cpypn.  */
                                                     return 3298;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1100x1xxxxxxxxxx
                                                        cpyen.  */
                                                     return 3300;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0010x1xxxxxxxxxx
                                                        cpyprt.  */
                                                     return 3313;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0010x1xxxxxxxxxx
                                                        cpyert.  */
                                                     return 3315;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1010x1xxxxxxxxxx
                                                        cpyprtrn.  */
                                                     return 3319;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1010x1xxxxxxxxxx
                                                        cpyertrn.  */
                                                     return 3321;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0110x1xxxxxxxxxx
                                                        cpyprtwn.  */
                                                     return 3316;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0110x1xxxxxxxxxx
                                                        cpyertwn.  */
                                                     return 3318;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1110x1xxxxxxxxxx
                                                        cpyprtn.  */
                                                     return 3322;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1110x1xxxxxxxxxx
                                                        cpyertn.  */
                                                     return 3324;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0001x1xxxxxxxxxx
                                                        cpypwt.  */
                                                     return 3301;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0001x1xxxxxxxxxx
                                                        cpyewt.  */
                                                     return 3303;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1001x1xxxxxxxxxx
                                                        cpypwtrn.  */
                                                     return 3307;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1001x1xxxxxxxxxx
                                                        cpyewtrn.  */
                                                     return 3309;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0101x1xxxxxxxxxx
                                                        cpypwtwn.  */
                                                     return 3304;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0101x1xxxxxxxxxx
                                                        cpyewtwn.  */
                                                     return 3306;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1101x1xxxxxxxxxx
                                                        cpypwtn.  */
                                                     return 3310;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1101x1xxxxxxxxxx
                                                        cpyewtn.  */
                                                     return 3312;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0011x1xxxxxxxxxx
                                                        cpypt.  */
                                                     return 3325;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0011x1xxxxxxxxxx
                                                        cpyet.  */
                                                     return 3327;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1011x1xxxxxxxxxx
                                                        cpyptrn.  */
                                                     return 3331;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1011x1xxxxxxxxxx
                                                        cpyetrn.  */
                                                     return 3333;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx0111x1xxxxxxxxxx
                                                        cpyptwn.  */
                                                     return 3328;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx0111x1xxxxxxxxxx
                                                        cpyetwn.  */
                                                     return 3330;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110100xxxxxx1111x1xxxxxxxxxx
                                                        cpyptn.  */
                                                     return 3334;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110110xxxxxx1111x1xxxxxxxxxx
                                                        cpyetn.  */
                                                     return 3336;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                xx111101x0xxxxxxxxxxxxxxxxxxxxxx
                                str.  */
                             return 944;
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 10) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx011101x1xxxxxxxxxxx0xxxxxxxxxx
                                    ldapur.  */
                                 return 1302;
                               }
                             else
                               {
                                 if (((word >> 12) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0000x1xxxxxxxxxx
                                                        cpym.  */
                                                     return 3290;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0000x1xxxxxxxxxx
                                                        setgp.  */
                                                     return 3349;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx1000x1xxxxxxxxxx
                                                        cpymrn.  */
                                                     return 3296;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx1000x1xxxxxxxxxx
                                                        setge.  */
                                                     return 3351;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0100x1xxxxxxxxxx
                                                        cpymwn.  */
                                                     return 3293;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0100x1xxxxxxxxxx
                                                        setgm.  */
                                                     return 3350;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx011101x1xxxxxx1100x1xxxxxxxxxx
                                                    cpymn.  */
                                                 return 3299;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0010x1xxxxxxxxxx
                                                        cpymrt.  */
                                                     return 3314;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0010x1xxxxxxxxxx
                                                        setgpn.  */
                                                     return 3355;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx1010x1xxxxxxxxxx
                                                        cpymrtrn.  */
                                                     return 3320;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx1010x1xxxxxxxxxx
                                                        setgen.  */
                                                     return 3357;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0110x1xxxxxxxxxx
                                                        cpymrtwn.  */
                                                     return 3317;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0110x1xxxxxxxxxx
                                                        setgmn.  */
                                                     return 3356;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx011101x1xxxxxx1110x1xxxxxxxxxx
                                                    cpymrtn.  */
                                                 return 3323;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0001x1xxxxxxxxxx
                                                        cpymwt.  */
                                                     return 3302;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0001x1xxxxxxxxxx
                                                        setgpt.  */
                                                     return 3352;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx1001x1xxxxxxxxxx
                                                        cpymwtrn.  */
                                                     return 3308;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx1001x1xxxxxxxxxx
                                                        setget.  */
                                                     return 3354;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0101x1xxxxxxxxxx
                                                        cpymwtwn.  */
                                                     return 3305;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0101x1xxxxxxxxxx
                                                        setgmt.  */
                                                     return 3353;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx011101x1xxxxxx1101x1xxxxxxxxxx
                                                    cpymwtn.  */
                                                 return 3311;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0011x1xxxxxxxxxx
                                                        cpymt.  */
                                                     return 3326;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0011x1xxxxxxxxxx
                                                        setgptn.  */
                                                     return 3358;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx1011x1xxxxxxxxxx
                                                        cpymtrn.  */
                                                     return 3332;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx1011x1xxxxxxxxxx
                                                        setgetn.  */
                                                     return 3360;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110101xxxxxx0111x1xxxxxxxxxx
                                                        cpymtwn.  */
                                                     return 3329;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx01110111xxxxxx0111x1xxxxxxxxxx
                                                        setgmtn.  */
                                                     return 3359;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx011101x1xxxxxx1111x1xxxxxxxxxx
                                                    cpymtn.  */
                                                 return 3335;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             /* 33222222222211111111110000000000
                                10987654321098765432109876543210
                                xx111101x1xxxxxxxxxxxxxxxxxxxxxx
                                ldr.  */
                             return 945;
                           }
                       }
                   }
               }
           }
         else
           {
             if (((word >> 24) & 0x1) == 0)
               {
                 if (((word >> 21) & 0x1) == 0)
                   {
                     if (((word >> 28) & 0x1) == 0)
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 31) & 0x1) == 0)
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 22) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    0x001110x00xxxxxxxx000xxxxxxxxxx
                                                    tbl.  */
                                                 return 420;
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110000xxxxxxxx100xxxxxxxxxx
                                                        tbx.  */
                                                     return 421;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110100xxxxxxxx100xxxxxxxxxx
                                                        luti2.  */
                                                     return 3636;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110010xxxxxxxx000xxxxxxxxxx
                                                        luti4.  */
                                                     return 3638;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110010xxxxxxxx100xxxxxxxxxx
                                                        luti4.  */
                                                     return 3639;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    0x001110110xxxxxxxxx00xxxxxxxxxx
                                                    luti2.  */
                                                 return 3637;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    0x001110xx0xxxxxx0x010xxxxxxxxxx
                                                    trn1.  */
                                                 return 263;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    0x001110xx0xxxxxx1x010xxxxxxxxxx
                                                    trn2.  */
                                                 return 266;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxxx00110xxxxxxxxxx
                                                        uzp1.  */
                                                     return 262;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxxx10110xxxxxxxxxx
                                                        uzp2.  */
                                                     return 265;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxxx01110xxxxxxxxxx
                                                        zip1.  */
                                                     return 264;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxxx11110xxxxxxxxxx
                                                        zip2.  */
                                                     return 267;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110x00xxxxxx00001xxxxxxxxxx
                                                            dup.  */
                                                         return 149;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110010xxxxxx00001xxxxxxxxxx
                                                                fmaxnm.  */
                                                             return 292;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110110xxxxxx00001xxxxxxxxxx
                                                                fminnm.  */
                                                             return 308;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110x00xxxxxx10001xxxxxxxxxx
                                                                fmlallbb.  */
                                                             return 3660;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110x00xxxxxx10001xxxxxxxxxx
                                                                fmlalltb.  */
                                                             return 3662;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110x10xxxxxx10001xxxxxxxxxx
                                                                fmlallbt.  */
                                                             return 3661;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110x10xxxxxx10001xxxxxxxxxx
                                                                fmlalltt.  */
                                                             return 3663;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxx0x1001xxxxxxxxxx
                                                        fcmeq.  */
                                                     return 300;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxx1x1001xxxxxxxxxx
                                                        smmla.  */
                                                     return 3211;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x0011100x0xxxxx0x0101xxxxxxxxxx
                                                            fadd.  */
                                                         return 296;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x0011101x0xxxxx0x0101xxxxxxxxxx
                                                            fsub.  */
                                                         return 312;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxx1x0101xxxxxxxxxx
                                                        sdot.  */
                                                     return 3077;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x0011100x0xxxxxx01101xxxxxxxxxx
                                                            fmax.  */
                                                         return 302;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x0011101x0xxxxxx01101xxxxxxxxxx
                                                            fmin.  */
                                                         return 314;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110x00xxxxxx11101xxxxxxxxxx
                                                                fcvtn.  */
                                                             return 3593;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110x00xxxxxx11101xxxxxxxxxx
                                                                fcvtn2.  */
                                                             return 3594;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110x10xxxxxx11101xxxxxxxxxx
                                                            fcvtn.  */
                                                         return 3595;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110x00xxxxxxx0011xxxxxxxxxx
                                                        dup.  */
                                                     return 150;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110010xxxxxxx0011xxxxxxxxxx
                                                            fmla.  */
                                                         return 294;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110110xxxxxxx0011xxxxxxxxxx
                                                            fmls.  */
                                                         return 310;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxx0x1011xxxxxxxxxx
                                                        smov.  */
                                                     return 151;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxx1x1011xxxxxxxxxx
                                                        usmmla.  */
                                                     return 3213;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110x00xxxxx0x0111xxxxxxxxxx
                                                            ins.  */
                                                         return 154;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110010xxxxx0x0111xxxxxxxxxx
                                                                fmulx.  */
                                                             return 298;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110110xxxxx0x0111xxxxxxxxxx
                                                                famax.  */
                                                             return 1304;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        0x001110xx0xxxxx1x0111xxxxxxxxxx
                                                        usdot.  */
                                                     return 3214;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110x00xxxxxx01111xxxxxxxxxx
                                                            umov.  */
                                                         return 152;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110010xxxxxx01111xxxxxxxxxx
                                                                frecps.  */
                                                             return 304;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110110xxxxxx01111xxxxxxxxxx
                                                                frsqrts.  */
                                                             return 316;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110x00xxxxxx11111xxxxxxxxxx
                                                            fdot.  */
                                                         return 3652;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110010xxxxxx11111xxxxxxxxxx
                                                                fdot.  */
                                                             return 3654;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00001110110xxxxxx11111xxxxxxxxxx
                                                                    fmlalb.  */
                                                                 return 3656;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01001110110xxxxxx11111xxxxxxxxxx
                                                                    fmlalt.  */
                                                                 return 3657;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 22) & 0x1) == 0)
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x001110000xxxxxxxxxxxxxxxxxxxxx
                                            eor3.  */
                                         return 3084;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x001110100xxxxxxxxxxxxxxxxxxxxx
                                            xar.  */
                                         return 3086;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 15) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            1x001110x10xxxxx0xxxxxxxxxxxxxxx
                                            sm3ss1.  */
                                         return 3088;
                                       }
                                     else
                                       {
                                         if (((word >> 10) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        1x001110010xxxxx1xxx00xxxxxxxxxx
                                                        sm3tt1a.  */
                                                     return 3089;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        1x001110110xxxxx1xxx00xxxxxxxxxx
                                                        sha512su0.  */
                                                     return 3082;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x001110x10xxxxx1xxx10xxxxxxxxxx
                                                    sm3tt2a.  */
                                                 return 3091;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        1x001110010xxxxx1xxx01xxxxxxxxxx
                                                        sm3tt1b.  */
                                                     return 3090;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        1x001110110xxxxx1xxx01xxxxxxxxxx
                                                        sm4e.  */
                                                     return 3095;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    1x001110x10xxxxx1xxx11xxxxxxxxxx
                                                    sm3tt2b.  */
                                                 return 3092;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 10) & 0x1) == 0)
                               {
                                 /* 33222222222211111111110000000000
                                    10987654321098765432109876543210
                                    xx101110xx0xxxxxxxxxx0xxxxxxxxxx
                                    ext.  */
                                 return 132;
                               }
                             else
                               {
                                 if (((word >> 15) & 0x1) == 0)
                                   {
                                     if (((word >> 22) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx101110x00xxxxx0xxxx1xxxxxxxxxx
                                            ins.  */
                                         return 156;
                                       }
                                     else
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110010xxxxx0x0001xxxxxxxxxx
                                                            fmaxnmp.  */
                                                         return 343;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110110xxxxx0x0001xxxxxxxxxx
                                                            fminnmp.  */
                                                         return 359;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110010xxxxx0x1001xxxxxxxxxx
                                                            fcmge.  */
                                                         return 349;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110110xxxxx0x1001xxxxxxxxxx
                                                            fcmgt.  */
                                                         return 363;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110010xxxxx0x0101xxxxxxxxxx
                                                            faddp.  */
                                                         return 345;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110110xxxxx0x0101xxxxxxxxxx
                                                            fabd.  */
                                                         return 361;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110010xxxxx0x1101xxxxxxxxxx
                                                            fmaxp.  */
                                                         return 353;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110110xxxxx0x1101xxxxxxxxxx
                                                            fminp.  */
                                                         return 367;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110010xxxxx0xx011xxxxxxxxxx
                                                        facge.  */
                                                     return 351;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110110xxxxx0xx011xxxxxxxxxx
                                                        facgt.  */
                                                     return 365;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110010xxxxx0x0111xxxxxxxxxx
                                                            fmul.  */
                                                         return 347;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110110xxxxx0x0111xxxxxxxxxx
                                                            famin.  */
                                                         return 1306;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110010xxxxx0x1111xxxxxxxxxx
                                                            fdiv.  */
                                                         return 355;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110110xxxxx0x1111xxxxxxxxxx
                                                            fscale.  */
                                                         return 3596;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 11) & 0x1) == 0)
                                               {
                                                 if (((word >> 12) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx0xxxxx100001xxxxxxxxxx
                                                        sqrdmlah.  */
                                                     return 370;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx0xxxxx100101xxxxxxxxxx
                                                        udot.  */
                                                     return 3076;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx101110xx0xxxxx100x11xxxxxxxxxx
                                                    sqrdmlsh.  */
                                                 return 371;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101110xx0xxxxx110xx1xxxxxxxxxx
                                                fcmla.  */
                                             return 372;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx101110xx0xxxxx101x01xxxxxxxxxx
                                                    ummla.  */
                                                 return 3212;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx101110xx0xxxxx111x01xxxxxxxxxx
                                                    fcadd.  */
                                                 return 373;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110000xxxxx1x1011xxxxxxxxxx
                                                            fmmla.  */
                                                         return 3239;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110100xxxxx1x1011xxxxxxxxxx
                                                            fmmla.  */
                                                         return 3237;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110x10xxxxx1x1011xxxxxxxxxx
                                                        bfmmla.  */
                                                     return 3228;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx1011100x0xxxxx1x1111xxxxxxxxxx
                                                        bfdot.  */
                                                     return 3226;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x01011101x0xxxxx1x1111xxxxxxxxxx
                                                            bfmlalb.  */
                                                         return 3233;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x11011101x0xxxxx1x1111xxxxxxxxxx
                                                            bfmlalt.  */
                                                         return 3232;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 16) & 0x1) == 0)
                                   {
                                     if (((word >> 17) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0011110xx0xxx00xxxxxxxxxxxxxxxx
                                            fcvtzs.  */
                                         return 804;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0011110xx0xxx10xxxxxxxxxxxxxxxx
                                            scvtf.  */
                                         return 800;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 17) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0011110xx0xxx01xxxxxxxxxxxxxxxx
                                            fcvtzu.  */
                                         return 806;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0011110xx0xxx11xxxxxxxxxxxxxxxx
                                            ucvtf.  */
                                         return 802;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx0xxxxxx000x0xxxxxxxxxx
                                                    sha1c.  */
                                                 return 718;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx0xxxxxx100x0xxxxxxxxxx
                                                    sha256h.  */
                                                 return 722;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx0xxxxxx010x0xxxxxxxxxx
                                                    sha1m.  */
                                                 return 720;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx0xxxxxx110x0xxxxxxxxxx
                                                    sha256su1.  */
                                                 return 724;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx0xxxxxx001x0xxxxxxxxxx
                                                    sha1p.  */
                                                 return 719;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx0xxxxxx101x0xxxxxxxxxx
                                                    sha256h2.  */
                                                 return 723;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011110xx0xxxxxxx11x0xxxxxxxxxx
                                                sha1su0.  */
                                             return 721;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011110xx0xxxxxxx0x01xxxxxxxxxx
                                                dup.  */
                                             return 535;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011110xx0xxxxxxx1x01xxxxxxxxxx
                                                fcmeq.  */
                                             return 556;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011110xx0xxxxxxx0x11xxxxxxxxxx
                                                fmulx.  */
                                             return 554;
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10111100x0xxxxxxx1x11xxxxxxxxxx
                                                    frecps.  */
                                                 return 558;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10111101x0xxxxxxx1x11xxxxxxxxxx
                                                    frsqrts.  */
                                                 return 560;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 11) & 0x1) == 0)
                               {
                                 if (((word >> 12) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111110xx0xxxxxxx000xxxxxxxxxxx
                                            sqrdmlah.  */
                                         return 588;
                                       }
                                     else
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx1111100x0xxxxxxx100xxxxxxxxxxx
                                                fcmge.  */
                                             return 573;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx1111101x0xxxxxxx100xxxxxxxxxxx
                                                fcmgt.  */
                                             return 579;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx111110xx0xxxxxxxx10xxxxxxxxxxx
                                        fabd.  */
                                     return 577;
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx111110xx0xxxxxxx0x1xxxxxxxxxxx
                                        sqrdmlsh.  */
                                     return 589;
                                   }
                                 else
                                   {
                                     if (((word >> 23) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx1111100x0xxxxxxx1x1xxxxxxxxxxx
                                            facge.  */
                                         return 575;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx1111101x0xxxxxxx1x1xxxxxxxxxxx
                                            facgt.  */
                                         return 581;
                                       }
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 28) & 0x1) == 0)
                       {
                         if (((word >> 15) & 0x1) == 0)
                           {
                             if (((word >> 29) & 0x1) == 0)
                               {
                                 if (((word >> 31) & 0x1) == 0)
                                   {
                                     if (((word >> 10) & 0x1) == 0)
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx000000xxxxxxxxxx
                                                                saddl.  */
                                                             return 44;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx000000xxxxxxxxxx
                                                                saddl2.  */
                                                             return 45;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx010000xxxxxxxxxx
                                                                addhn.  */
                                                             return 52;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx010000xxxxxxxxxx
                                                                addhn2.  */
                                                             return 53;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx001000xxxxxxxxxx
                                                                ssubl.  */
                                                             return 48;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx001000xxxxxxxxxx
                                                                ssubl2.  */
                                                             return 49;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx011000xxxxxxxxxx
                                                                subhn.  */
                                                             return 56;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx011000xxxxxxxxxx
                                                                subhn2.  */
                                                             return 57;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx000100xxxxxxxxxx
                                                                saddw.  */
                                                             return 46;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx000100xxxxxxxxxx
                                                                saddw2.  */
                                                             return 47;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx010100xxxxxxxxxx
                                                                sabal.  */
                                                             return 54;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx010100xxxxxxxxxx
                                                                sabal2.  */
                                                             return 55;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx001100xxxxxxxxxx
                                                                ssubw.  */
                                                             return 50;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx001100xxxxxxxxxx
                                                                ssubw2.  */
                                                             return 51;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                00001110xx1xxxxx011100xxxxxxxxxx
                                                                sabdl.  */
                                                             return 58;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx011100xxxxxxxxxx
                                                                sabdl2.  */
                                                             return 59;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx000010xxxxxxxxxx
                                                            rev64.  */
                                                         return 162;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110xx1x0xx0010010xxxxxxxxxx
                                                                    cls.  */
                                                                 return 166;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110xx1x1xx0010010xxxxxxxxxx
                                                                    aese.  */
                                                                 return 711;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00001110xx1xxxx1010010xxxxxxxxxx
                                                                    sqxtn.  */
                                                                 return 176;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01001110xx1xxxx1010010xxxxxxxxxx
                                                                    sqxtn2.  */
                                                                 return 177;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110xx1xxxx0001010xxxxxxxxxx
                                                                saddlp.  */
                                                             return 164;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00001110xx1xxxx1001010xxxxxxxxxx
                                                                    xtn.  */
                                                                 return 174;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01001110xx1xxxx1001010xxxxxxxxxx
                                                                    xtn2.  */
                                                                 return 175;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110xx1x0xx0011010xxxxxxxxxx
                                                                    sadalp.  */
                                                                 return 168;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110xx1x1xx0011010xxxxxxxxxx
                                                                    aesmc.  */
                                                                 return 713;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000011100x1xxxx1011010xxxxxxxxxx
                                                                        fcvtn.  */
                                                                     return 178;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        010011100x1xxxx1011010xxxxxxxxxx
                                                                        fcvtn2.  */
                                                                     return 179;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        000011101x1xxxx1011010xxxxxxxxxx
                                                                        bfcvtn.  */
                                                                     return 3229;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        010011101x1xxxx1011010xxxxxxxxxx
                                                                        bfcvtn2.  */
                                                                     return 3230;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx000110xxxxxxxxxx
                                                            rev16.  */
                                                         return 163;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110xx1x0xxx010110xxxxxxxxxx
                                                                cnt.  */
                                                             return 167;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110xx1x1xxx010110xxxxxxxxxx
                                                                aesd.  */
                                                             return 712;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110xx10xxxx001110xxxxxxxxxx
                                                                suqadd.  */
                                                             return 165;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110xx11xxxx001110xxxxxxxxxx
                                                                saddlv.  */
                                                             return 29;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110xx1x0xx0011110xxxxxxxxxx
                                                                    sqabs.  */
                                                                 return 169;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110xx1x1xx0011110xxxxxxxxxx
                                                                    aesimc.  */
                                                                 return 714;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 30) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    00001110xx1xxxx1011110xxxxxxxxxx
                                                                    fcvtl.  */
                                                                 return 180;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    01001110xx1xxxx1011110xxxxxxxxxx
                                                                    fcvtl2.  */
                                                                 return 181;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 11) & 0x1) == 0)
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx000001xxxxxxxxxx
                                                            shadd.  */
                                                         return 268;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx010001xxxxxxxxxx
                                                            sshl.  */
                                                         return 275;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx001001xxxxxxxxxx
                                                            shsub.  */
                                                         return 271;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx011001xxxxxxxxxx
                                                            smax.  */
                                                         return 279;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx000101xxxxxxxxxx
                                                            srhadd.  */
                                                         return 270;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx010101xxxxxxxxxx
                                                            srshl.  */
                                                         return 277;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx001101xxxxxxxxxx
                                                            cmgt.  */
                                                         return 273;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx011101xxxxxxxxxx
                                                            sabd.  */
                                                         return 281;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 12) & 0x1) == 0)
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx000011xxxxxxxxxx
                                                            sqadd.  */
                                                         return 269;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx010011xxxxxxxxxx
                                                            sqshl.  */
                                                         return 276;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx001011xxxxxxxxxx
                                                            sqsub.  */
                                                         return 272;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx011011xxxxxxxxxx
                                                            smin.  */
                                                         return 280;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 13) & 0x1) == 0)
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110001xxxxx000111xxxxxxxxxx
                                                                    and.  */
                                                                 return 305;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110101xxxxx000111xxxxxxxxxx
                                                                    orr.  */
                                                                 return 317;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110011xxxxx000111xxxxxxxxxx
                                                                    bic.  */
                                                                 return 306;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x001110111xxxxx000111xxxxxxxxxx
                                                                    orn.  */
                                                                 return 319;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx010111xxxxxxxxxx
                                                            sqrshl.  */
                                                         return 278;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 14) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx001111xxxxxxxxxx
                                                            cmge.  */
                                                         return 274;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx011111xxxxxxxxxx
                                                            saba.  */
                                                         return 282;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        1x001110xx1xxxxx0xxxxxxxxxxxxxxx
                                        bcax.  */
                                     return 3087;
                                   }
                               }
                             else
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx000000xxxxxxxxxx
                                                            uaddl.  */
                                                         return 76;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx000000xxxxxxxxxx
                                                            uaddl2.  */
                                                         return 77;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx010000xxxxxxxxxx
                                                            raddhn.  */
                                                         return 84;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx010000xxxxxxxxxx
                                                            raddhn2.  */
                                                         return 85;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx001000xxxxxxxxxx
                                                            usubl.  */
                                                         return 80;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx001000xxxxxxxxxx
                                                            usubl2.  */
                                                         return 81;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx011000xxxxxxxxxx
                                                            rsubhn.  */
                                                         return 88;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx011000xxxxxxxxxx
                                                            rsubhn2.  */
                                                         return 89;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx000100xxxxxxxxxx
                                                            uaddw.  */
                                                         return 78;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx000100xxxxxxxxxx
                                                            uaddw2.  */
                                                         return 79;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx010100xxxxxxxxxx
                                                            uabal.  */
                                                         return 86;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx010100xxxxxxxxxx
                                                            uabal2.  */
                                                         return 87;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx001100xxxxxxxxxx
                                                            usubw.  */
                                                         return 82;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx001100xxxxxxxxxx
                                                            usubw2.  */
                                                         return 83;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx011100xxxxxxxxxx
                                                            uabdl.  */
                                                         return 90;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx011100xxxxxxxxxx
                                                            uabdl2.  */
                                                         return 91;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx000010xxxxxxxxxx
                                                        rev32.  */
                                                     return 213;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx0010010xxxxxxxxxx
                                                            clz.  */
                                                         return 216;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0101110xx1xxxx1010010xxxxxxxxxx
                                                                uqxtn.  */
                                                             return 226;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1101110xx1xxxx1010010xxxxxxxxxx
                                                                uqxtn2.  */
                                                             return 227;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx0001010xxxxxxxxxx
                                                            uaddlp.  */
                                                         return 214;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0101110xx1xxxx1001010xxxxxxxxxx
                                                                sqxtun.  */
                                                             return 222;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1101110xx1xxxx1001010xxxxxxxxxx
                                                                sqxtun2.  */
                                                             return 223;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx0011010xxxxxxxxxx
                                                            uadalp.  */
                                                         return 217;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0101110xx1xxxx1011010xxxxxxxxxx
                                                                fcvtxn.  */
                                                             return 228;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1101110xx1xxxx1011010xxxxxxxxxx
                                                                fcvtxn2.  */
                                                             return 229;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110x01xxxxx0x0110xxxxxxxxxx
                                                        not.  */
                                                     return 242;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110x11xxxxx0x0110xxxxxxxxxx
                                                        rbit.  */
                                                     return 244;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx10xxx0001110xxxxxxxxxx
                                                                usqadd.  */
                                                             return 215;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx11xxx0001110xxxxxxxxxx
                                                                uaddlv.  */
                                                             return 33;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x0101110xx1xxxx1001110xxxxxxxxxx
                                                                shll.  */
                                                             return 224;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x1101110xx1xxxx1001110xxxxxxxxxx
                                                                shll2.  */
                                                             return 225;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx0011110xxxxxxxxxx
                                                            sqneg.  */
                                                         return 218;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 22) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x0101110001xxxx1011110xxxxxxxxxx
                                                                        f1cvtl.  */
                                                                     return 3589;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1101110001xxxx1011110xxxxxxxxxx
                                                                        f1cvtl2.  */
                                                                     return 3590;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x0101110101xxxx1011110xxxxxxxxxx
                                                                        bf1cvtl.  */
                                                                     return 3585;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1101110101xxxx1011110xxxxxxxxxx
                                                                        bf1cvtl2.  */
                                                                     return 3586;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x0101110011xxxx1011110xxxxxxxxxx
                                                                        f2cvtl.  */
                                                                     return 3591;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1101110011xxxx1011110xxxxxxxxxx
                                                                        f2cvtl2.  */
                                                                     return 3592;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 30) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x0101110111xxxx1011110xxxxxxxxxx
                                                                        bf2cvtl.  */
                                                                     return 3587;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        x1101110111xxxx1011110xxxxxxxxxx
                                                                        bf2cvtl2.  */
                                                                     return 3588;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx000001xxxxxxxxxx
                                                        uhadd.  */
                                                     return 320;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx010001xxxxxxxxxx
                                                        ushl.  */
                                                     return 327;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx001001xxxxxxxxxx
                                                        uhsub.  */
                                                     return 323;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx011001xxxxxxxxxx
                                                        umax.  */
                                                     return 331;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx000101xxxxxxxxxx
                                                        urhadd.  */
                                                     return 322;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx010101xxxxxxxxxx
                                                        urshl.  */
                                                     return 329;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx001101xxxxxxxxxx
                                                        cmhi.  */
                                                     return 325;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx011101xxxxxxxxxx
                                                        uabd.  */
                                                     return 333;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx000011xxxxxxxxxx
                                                        uqadd.  */
                                                     return 321;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx010011xxxxxxxxxx
                                                        uqshl.  */
                                                     return 328;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx001011xxxxxxxxxx
                                                        uqsub.  */
                                                     return 324;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx011011xxxxxxxxxx
                                                        umin.  */
                                                     return 332;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 22) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110001xxxxx000111xxxxxxxxxx
                                                                eor.  */
                                                             return 356;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110101xxxxx000111xxxxxxxxxx
                                                                bit.  */
                                                             return 368;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110011xxxxx000111xxxxxxxxxx
                                                                bsl.  */
                                                             return 357;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110111xxxxx000111xxxxxxxxxx
                                                                bif.  */
                                                             return 369;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx010111xxxxxxxxxx
                                                        uqrshl.  */
                                                     return 330;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx001111xxxxxxxxxx
                                                        cmhs.  */
                                                     return 326;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx011111xxxxxxxxxx
                                                        uaba.  */
                                                     return 334;
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 10) & 0x1) == 0)
                               {
                                 if (((word >> 11) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0001110xx1xxxxx100000xxxxxxxxxx
                                                            smlal.  */
                                                         return 60;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx100000xxxxxxxxxx
                                                                smlal2.  */
                                                             return 61;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                11001110xx1xxxxx100000xxxxxxxxxx
                                                                sha512h.  */
                                                             return 3080;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx100000xxxxxxxxxx
                                                            umlal.  */
                                                         return 92;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx100000xxxxxxxxxx
                                                            umlal2.  */
                                                         return 93;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0001110xx1xxxxx110000xxxxxxxxxx
                                                            smull.  */
                                                         return 68;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                01001110xx1xxxxx110000xxxxxxxxxx
                                                                smull2.  */
                                                             return 69;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                11001110xx1xxxxx110000xxxxxxxxxx
                                                                sm3partw1.  */
                                                             return 3093;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx110000xxxxxxxxxx
                                                            umull.  */
                                                         return 96;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx110000xxxxxxxxxx
                                                            umull2.  */
                                                         return 97;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0001110xx1xxxxx101000xxxxxxxxxx
                                                            smlsl.  */
                                                         return 64;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1001110xx1xxxxx101000xxxxxxxxxx
                                                            smlsl2.  */
                                                         return 65;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0101110xx1xxxxx101000xxxxxxxxxx
                                                            umlsl.  */
                                                         return 94;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1101110xx1xxxxx101000xxxxxxxxxx
                                                            umlsl2.  */
                                                         return 95;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 22) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0x01110x01xxxxx111000xxxxxxxxxx
                                                            pmull.  */
                                                         return 72;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x01110x01xxxxx111000xxxxxxxxxx
                                                            pmull2.  */
                                                         return 74;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0x01110x11xxxxx111000xxxxxxxxxx
                                                            pmull.  */
                                                         return 73;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1x01110x11xxxxx111000xxxxxxxxxx
                                                            pmull2.  */
                                                         return 75;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x01110xx1xxxxx100100xxxxxxxxxx
                                                        sqdmlal.  */
                                                     return 62;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x01110xx1xxxxx100100xxxxxxxxxx
                                                        sqdmlal2.  */
                                                     return 63;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x01110xx1xxxxx110100xxxxxxxxxx
                                                        sqdmull.  */
                                                     return 70;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x01110xx1xxxxx110100xxxxxxxxxx
                                                        sqdmull2.  */
                                                     return 71;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0x01110xx1xxxxx1x1100xxxxxxxxxx
                                                    sqdmlsl.  */
                                                 return 66;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1x01110xx1xxxxx1x1100xxxxxxxxxx
                                                    sqdmlsl2.  */
                                                 return 67;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 31) & 0x1) == 0)
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x001110xx1xxxx0100010xxxxxxxxxx
                                                                cmgt.  */
                                                             return 170;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        0x0011100x1x0xx1100010xxxxxxxxxx
                                                                        frintn.  */
                                                                     return 182;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        0x0011101x1x0xx1100010xxxxxxxxxx
                                                                        frintp.  */
                                                                     return 202;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 23) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        0x0011100x1x1xx1100010xxxxxxxxxx
                                                                        frintn.  */
                                                                     return 183;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        0x0011101x1x1xx1100010xxxxxxxxxx
                                                                        frintp.  */
                                                                     return 203;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            1x001110xx1xxxxx100010xxxxxxxxxx
                                                            sha512su1.  */
                                                         return 3083;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx0100010xxxxxxxxxx
                                                            cmge.  */
                                                         return 219;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx1x0xx1100010xxxxxxxxxx
                                                                frinta.  */
                                                             return 230;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx1x1xx1100010xxxxxxxxxx
                                                                frinta.  */
                                                             return 231;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             if (((word >> 16) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    0x0011100x1xxxx0110010xxxxxxxxxx
                                                                    fmaxnmv.  */
                                                                 return 37;
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 19) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        0x0011100x1x0xx1110010xxxxxxxxxx
                                                                        fcvtas.  */
                                                                     return 190;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        0x0011100x1x1xx1110010xxxxxxxxxx
                                                                        fcvtas.  */
                                                                     return 191;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x0011100x1xxxxx110010xxxxxxxxxx
                                                                sm4ekey.  */
                                                             return 3096;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx1011100x1xxxx0110010xxxxxxxxxx
                                                                fmaxnmv.  */
                                                             return 36;
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x0xx1110010xxxxxxxxxx
                                                                    fcvtau.  */
                                                                 return 238;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x1xx1110010xxxxxxxxxx
                                                                    fcvtau.  */
                                                                 return 239;
                                                               }
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011101x100xx0110010xxxxxxxxxx
                                                                        fcmgt.  */
                                                                     return 194;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011101x100xx0110010xxxxxxxxxx
                                                                        fcmge.  */
                                                                     return 245;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011101x110xx0110010xxxxxxxxxx
                                                                        fminnmv.  */
                                                                     return 41;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011101x110xx0110010xxxxxxxxxx
                                                                        fminnmv.  */
                                                                     return 40;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011101x1x1xx0110010xxxxxxxxxx
                                                                    fcmgt.  */
                                                                 return 195;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011101x1x1xx0110010xxxxxxxxxx
                                                                    fcmge.  */
                                                                 return 246;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0011101x1xxxx1110010xxxxxxxxxx
                                                                urecpe.  */
                                                             return 210;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx1011101x1xxxx1110010xxxxxxxxxx
                                                                ursqrte.  */
                                                             return 257;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 20) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx01110xx10xxx0101010xxxxxxxxxx
                                                            cmlt.  */
                                                         return 172;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx001110xx11xxx0101010xxxxxxxxxx
                                                                smaxv.  */
                                                             return 30;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx11xxx0101010xxxxxxxxxx
                                                                umaxv.  */
                                                             return 34;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011100x100xx1101010xxxxxxxxxx
                                                                        fcvtns.  */
                                                                     return 186;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011100x100xx1101010xxxxxxxxxx
                                                                        fcvtnu.  */
                                                                     return 234;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011101x100xx1101010xxxxxxxxxx
                                                                        fcvtps.  */
                                                                     return 206;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011101x100xx1101010xxxxxxxxxx
                                                                        fcvtpu.  */
                                                                     return 253;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx001110xx110xx1101010xxxxxxxxxx
                                                                    sminv.  */
                                                                 return 31;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx101110xx110xx1101010xxxxxxxxxx
                                                                    uminv.  */
                                                                 return 35;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011100x1x1xx1101010xxxxxxxxxx
                                                                    fcvtns.  */
                                                                 return 187;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x1xx1101010xxxxxxxxxx
                                                                    fcvtnu.  */
                                                                 return 235;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011101x1x1xx1101010xxxxxxxxxx
                                                                    fcvtps.  */
                                                                 return 207;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011101x1x1xx1101010xxxxxxxxxx
                                                                    fcvtpu.  */
                                                                 return 254;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx01110xx1x0xx0111010xxxxxxxxxx
                                                            fcmlt.  */
                                                         return 198;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx01110xx1x1xx0111010xxxxxxxxxx
                                                            fcmlt.  */
                                                         return 199;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx001110xx1xxxx1111010xxxxxxxxxx
                                                            frint32z.  */
                                                         return 158;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx1111010xxxxxxxxxx
                                                            frint32x.  */
                                                         return 159;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx001110xx1xxxx0100110xxxxxxxxxx
                                                            cmeq.  */
                                                         return 171;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx0100110xxxxxxxxxx
                                                            cmle.  */
                                                         return 220;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011100x1x0xx1100110xxxxxxxxxx
                                                                    frintm.  */
                                                                 return 184;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x0xx1100110xxxxxxxxxx
                                                                    frintx.  */
                                                                 return 232;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011101x1x0xx1100110xxxxxxxxxx
                                                                    frintz.  */
                                                                 return 204;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011101x1x0xx1100110xxxxxxxxxx
                                                                    frinti.  */
                                                                 return 251;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011100x1x1xx1100110xxxxxxxxxx
                                                                    frintm.  */
                                                                 return 185;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x1xx1100110xxxxxxxxxx
                                                                    frintx.  */
                                                                 return 233;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011101x1x1xx1100110xxxxxxxxxx
                                                                    frintz.  */
                                                                 return 205;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011101x1x1xx1100110xxxxxxxxxx
                                                                    frinti.  */
                                                                 return 252;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx001110xx1x0xx0110110xxxxxxxxxx
                                                                fcmeq.  */
                                                             return 196;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx1x0xx0110110xxxxxxxxxx
                                                                fcmle.  */
                                                             return 247;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx001110xx1x1xx0110110xxxxxxxxxx
                                                                fcmeq.  */
                                                             return 197;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx1x1xx0110110xxxxxxxxxx
                                                                fcmle.  */
                                                             return 248;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011100x1x0xx1110110xxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 192;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x0xx1110110xxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 240;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011101x1x0xx1110110xxxxxxxxxx
                                                                    frecpe.  */
                                                                 return 211;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011101x1x0xx1110110xxxxxxxxxx
                                                                    frsqrte.  */
                                                                 return 258;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011100x1x1xx1110110xxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 193;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x1xx1110110xxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 241;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011101x1x1xx1110110xxxxxxxxxx
                                                                    frecpe.  */
                                                                 return 212;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011101x1x1xx1110110xxxxxxxxxx
                                                                    frsqrte.  */
                                                                 return 259;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx001110xx1xxxx0101110xxxxxxxxxx
                                                            abs.  */
                                                         return 173;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx101110xx1xxxx0101110xxxxxxxxxx
                                                            neg.  */
                                                         return 221;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011100x100xx1101110xxxxxxxxxx
                                                                        fcvtms.  */
                                                                     return 188;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011100x100xx1101110xxxxxxxxxx
                                                                        fcvtmu.  */
                                                                     return 236;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011101x100xx1101110xxxxxxxxxx
                                                                        fcvtzs.  */
                                                                     return 208;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011101x100xx1101110xxxxxxxxxx
                                                                        fcvtzu.  */
                                                                     return 255;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx01110xx110xx1101110xxxxxxxxxx
                                                                addv.  */
                                                             return 32;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011100x1x1xx1101110xxxxxxxxxx
                                                                    fcvtms.  */
                                                                 return 189;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x1xx1101110xxxxxxxxxx
                                                                    fcvtmu.  */
                                                                 return 237;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011101x1x1xx1101110xxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 209;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011101x1x1xx1101110xxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 256;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx001110xx100xx0111110xxxxxxxxxx
                                                                    fabs.  */
                                                                 return 200;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx101110xx100xx0111110xxxxxxxxxx
                                                                    fneg.  */
                                                                 return 249;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011100x110xx0111110xxxxxxxxxx
                                                                        fmaxv.  */
                                                                     return 39;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011100x110xx0111110xxxxxxxxxx
                                                                        fmaxv.  */
                                                                     return 38;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0011101x110xx0111110xxxxxxxxxx
                                                                        fminv.  */
                                                                     return 43;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1011101x110xx0111110xxxxxxxxxx
                                                                        fminv.  */
                                                                     return 42;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx001110xx1x1xx0111110xxxxxxxxxx
                                                                fabs.  */
                                                             return 201;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx101110xx1x1xx0111110xxxxxxxxxx
                                                                fneg.  */
                                                             return 250;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0011100x1x0xx1111110xxxxxxxxxx
                                                                    frint64z.  */
                                                                 return 160;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1011100x1x0xx1111110xxxxxxxxxx
                                                                    frint64x.  */
                                                                 return 161;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx011101x1x0xx1111110xxxxxxxxxx
                                                                fsqrt.  */
                                                             return 260;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx01110xx1x1xx1111110xxxxxxxxxx
                                                            fsqrt.  */
                                                         return 261;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 11) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 31) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx100001xxxxxxxxxx
                                                            add.  */
                                                         return 283;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            1x001110xx1xxxxx100001xxxxxxxxxx
                                                            sha512h2.  */
                                                         return 3081;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx100001xxxxxxxxxx
                                                        sub.  */
                                                     return 335;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         if (((word >> 31) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                0x0011100x1xxxxx110001xxxxxxxxxx
                                                                fmaxnm.  */
                                                             return 291;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                1x0011100x1xxxxx110001xxxxxxxxxx
                                                                sm3partw2.  */
                                                             return 3094;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011100x1xxxxx110001xxxxxxxxxx
                                                            fmaxnmp.  */
                                                         return 342;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011101x1xxxxx110001xxxxxxxxxx
                                                            fminnm.  */
                                                         return 307;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011101x1xxxxx110001xxxxxxxxxx
                                                            fminnmp.  */
                                                         return 358;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx001110xx1xxxxx101001xxxxxxxxxx
                                                        smaxp.  */
                                                     return 287;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx101001xxxxxxxxxx
                                                        umaxp.  */
                                                     return 339;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011100x1xxxxx111001xxxxxxxxxx
                                                            fcmeq.  */
                                                         return 299;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011100x1xxxxx111001xxxxxxxxxx
                                                            fcmge.  */
                                                         return 348;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx011101x1xxxxx111001xxxxxxxxxx
                                                        fcmgt.  */
                                                     return 362;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx001110xx1xxxxx100101xxxxxxxxxx
                                                        mla.  */
                                                     return 285;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx100101xxxxxxxxxx
                                                        mls.  */
                                                     return 337;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011100x1xxxxx110101xxxxxxxxxx
                                                            fadd.  */
                                                         return 295;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011100x1xxxxx110101xxxxxxxxxx
                                                            faddp.  */
                                                         return 344;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011101x1xxxxx110101xxxxxxxxxx
                                                            fsub.  */
                                                         return 311;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011101x1xxxxx110101xxxxxxxxxx
                                                            fabd.  */
                                                         return 360;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx001110xx1xxxxx101101xxxxxxxxxx
                                                        sqdmulh.  */
                                                     return 289;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx101101xxxxxxxxxx
                                                        sqrdmulh.  */
                                                     return 341;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011100x1xxxxx111101xxxxxxxxxx
                                                            fmax.  */
                                                         return 301;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011100x1xxxxx111101xxxxxxxxxx
                                                            fmaxp.  */
                                                         return 352;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011101x1xxxxx111101xxxxxxxxxx
                                                            fmin.  */
                                                         return 313;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011101x1xxxxx111101xxxxxxxxxx
                                                            fminp.  */
                                                         return 366;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 31) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            0x001110xx1xxxxx100011xxxxxxxxxx
                                                            cmtst.  */
                                                         return 284;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            1x001110xx1xxxxx100011xxxxxxxxxx
                                                            rax1.  */
                                                         return 3085;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx100011xxxxxxxxxx
                                                        cmeq.  */
                                                     return 336;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011100x1xxxxx110011xxxxxxxxxx
                                                            fmla.  */
                                                         return 293;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x01011100x1xxxxx110011xxxxxxxxxx
                                                                fmlal2.  */
                                                             return 3099;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x11011100x1xxxxx110011xxxxxxxxxx
                                                                fmlal2.  */
                                                             return 3103;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011101x1xxxxx110011xxxxxxxxxx
                                                            fmls.  */
                                                         return 309;
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x01011101x1xxxxx110011xxxxxxxxxx
                                                                fmlsl2.  */
                                                             return 3100;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x11011101x1xxxxx110011xxxxxxxxxx
                                                                fmlsl2.  */
                                                             return 3104;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx001110xx1xxxxx101011xxxxxxxxxx
                                                        sminp.  */
                                                     return 288;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx101011xxxxxxxxxx
                                                        uminp.  */
                                                     return 340;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x00011100x1xxxxx111011xxxxxxxxxx
                                                                fmlal.  */
                                                             return 3097;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10011100x1xxxxx111011xxxxxxxxxx
                                                                fmlal.  */
                                                             return 3101;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011100x1xxxxx111011xxxxxxxxxx
                                                            facge.  */
                                                         return 350;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         if (((word >> 30) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x00011101x1xxxxx111011xxxxxxxxxx
                                                                fmlsl.  */
                                                             return 3098;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                x10011101x1xxxxx111011xxxxxxxxxx
                                                                fmlsl.  */
                                                             return 3102;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011101x1xxxxx111011xxxxxxxxxx
                                                            facgt.  */
                                                         return 364;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx001110xx1xxxxx100111xxxxxxxxxx
                                                        mul.  */
                                                     return 286;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx101110xx1xxxxx100111xxxxxxxxxx
                                                        pmul.  */
                                                     return 338;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011100x1xxxxx110111xxxxxxxxxx
                                                            fmulx.  */
                                                         return 297;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011100x1xxxxx110111xxxxxxxxxx
                                                            fmul.  */
                                                         return 346;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011101x1xxxxx110111xxxxxxxxxx
                                                            famax.  */
                                                         return 1305;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011101x1xxxxx110111xxxxxxxxxx
                                                            famin.  */
                                                         return 1307;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx01110xx1xxxxx101111xxxxxxxxxx
                                                    addp.  */
                                                 return 290;
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011100x1xxxxx111111xxxxxxxxxx
                                                            frecps.  */
                                                         return 303;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011100x1xxxxx111111xxxxxxxxxx
                                                            fdiv.  */
                                                         return 354;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx0011101x1xxxxx111111xxxxxxxxxx
                                                            frsqrts.  */
                                                         return 315;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx1011101x1xxxxx111111xxxxxxxxxx
                                                            fscale.  */
                                                         return 3597;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 10) & 0x1) == 0)
                           {
                             if (((word >> 11) & 0x1) == 0)
                               {
                                 if (((word >> 12) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 16) & 0x1) == 0)
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100000x00000xxxxxxxxxx
                                                                    fcvtns.  */
                                                                 return 808;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110000x00000xxxxxxxxxx
                                                                    fcvtms.  */
                                                                 return 836;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx101000x00000xxxxxxxxxx
                                                                    fcvtps.  */
                                                                 return 830;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx111000x00000xxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 842;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100100x00000xxxxxxxxxx
                                                                    fcvtas.  */
                                                                 return 820;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110100x00000xxxxxxxxxx
                                                                    fcvtms.  */
                                                                 return 838;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1x1100x00000xxxxxxxxxx
                                                                scvtf.  */
                                                             return 816;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100010x00000xxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 814;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110010x00000xxxxxxxxxx
                                                                    fcvtps.  */
                                                                 return 832;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx101010x00000xxxxxxxxxx
                                                                    fcvtns.  */
                                                                 return 810;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx111010x00000xxxxxxxxxx
                                                                    fcvtas.  */
                                                                 return 822;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100110x00000xxxxxxxxxx
                                                                    fmov.  */
                                                                 return 826;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110110x00000xxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 844;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx101110x00000xxxxxxxxxx
                                                                    fmov.  */
                                                                 return 848;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx111110x00000xxxxxxxxxx
                                                                    fjcvtzs.  */
                                                                 return 850;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 17) & 0x1) == 0)
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100001x00000xxxxxxxxxx
                                                                    fcvtnu.  */
                                                                 return 811;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110001x00000xxxxxxxxxx
                                                                    fcvtmu.  */
                                                                 return 839;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx101001x00000xxxxxxxxxx
                                                                    fcvtpu.  */
                                                                 return 833;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx111001x00000xxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 845;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100101x00000xxxxxxxxxx
                                                                    fcvtau.  */
                                                                 return 823;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110101x00000xxxxxxxxxx
                                                                    fcvtmu.  */
                                                                 return 841;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1x1101x00000xxxxxxxxxx
                                                                ucvtf.  */
                                                             return 819;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 18) & 0x1) == 0)
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100011x00000xxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 817;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110011x00000xxxxxxxxxx
                                                                    fcvtpu.  */
                                                                 return 835;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx101011x00000xxxxxxxxxx
                                                                    fcvtnu.  */
                                                                 return 813;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx111011x00000xxxxxxxxxx
                                                                    fcvtau.  */
                                                                 return 825;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 19) & 0x1) == 0)
                                                           {
                                                             if (((word >> 20) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx100111x00000xxxxxxxxxx
                                                                    fmov.  */
                                                                 return 828;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx110111x00000xxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 847;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1x1111x00000xxxxxxxxxx
                                                                fmov.  */
                                                             return 849;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 17) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x0000010000xxxxxxxxxx
                                                                    fmov.  */
                                                                 return 869;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x1000010000xxxxxxxxxx
                                                                    frint32z.  */
                                                                 return 865;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1xx100010000xxxxxxxxxx
                                                                frintn.  */
                                                             return 878;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x0001010000xxxxxxxxxx
                                                                    fneg.  */
                                                                 return 873;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x1001010000xxxxxxxxxx
                                                                    frint64z.  */
                                                                 return 867;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1xx101010000xxxxxxxxxx
                                                                frintm.  */
                                                             return 882;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 16) & 0x1) == 0)
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x0000110000xxxxxxxxxx
                                                                    fabs.  */
                                                                 return 871;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x1000110000xxxxxxxxxx
                                                                    frint32x.  */
                                                                 return 866;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1xx100110000xxxxxxxxxx
                                                                frintp.  */
                                                             return 880;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 18) & 0x1) == 0)
                                                           {
                                                             if (((word >> 19) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x0001110000xxxxxxxxxx
                                                                    fsqrt.  */
                                                                 return 875;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xxx11110xx1x1001110000xxxxxxxxxx
                                                                    frint64x.  */
                                                                 return 868;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1xx101110000xxxxxxxxxx
                                                                frintz.  */
                                                             return 884;
                                                           }
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 18) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11110xx1xx01xx10000xxxxxxxxxx
                                                        fcvt.  */
                                                     return 877;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         if (((word >> 16) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1xx110010000xxxxxxxxxx
                                                                frinta.  */
                                                             return 886;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx1xx111010000xxxxxxxxxx
                                                                frintx.  */
                                                             return 888;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx11110xx1xx11x110000xxxxxxxxxx
                                                            frinti.  */
                                                         return 890;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 3) & 0x1) == 0)
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11110xx1xxxxxxx1000xxxxx00xxx
                                                    fcmp.  */
                                                 return 855;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11110xx1xxxxxxx1000xxxxx10xxx
                                                    fcmpe.  */
                                                 return 857;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 4) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11110xx1xxxxxxx1000xxxxx01xxx
                                                    fcmp.  */
                                                 return 859;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11110xx1xxxxxxx1000xxxxx11xxx
                                                    fcmpe.  */
                                                 return 861;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0x11110xx1xxxxxxxx100xxxxxxxxxx
                                            fmov.  */
                                         return 918;
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1x11110xx1xxxxxx00100xxxxxxxxxx
                                                    sqdmlal.  */
                                                 return 422;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1x11110xx1xxxxxx10100xxxxxxxxxx
                                                    sqdmull.  */
                                                 return 424;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1x11110xx1xxxxxxx1100xxxxxxxxxx
                                                sqdmlsl.  */
                                             return 423;
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 12) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11110xx1xxxxx000010xxxxxxxxxx
                                                        fmul.  */
                                                     return 892;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x11110xx1xxxxx000010xxxxxxxxxx
                                                        sha1h.  */
                                                     return 715;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011110xx1xxxxx100010xxxxxxxxxx
                                                            fnmul.  */
                                                         return 908;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011110xx1xxxxx100010xxxxxxxxxx
                                                            cmgt.  */
                                                         return 482;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx100010xxxxxxxxxx
                                                        cmge.  */
                                                     return 511;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011110xx1xxxxx010010xxxxxxxxxx
                                                            fmax.  */
                                                         return 900;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011110xx1xxxxx010010xxxxxxxxxx
                                                            sqxtn.  */
                                                         return 486;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx010010xxxxxxxxxx
                                                        uqxtn.  */
                                                     return 515;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx011110xx100xx0110010xxxxxxxxxx
                                                                    fcmgt.  */
                                                                 return 495;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx111110xx100xx0110010xxxxxxxxxx
                                                                    fcmge.  */
                                                                 return 525;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0111100x110xx0110010xxxxxxxxxx
                                                                        fmaxnmp.  */
                                                                     return 539;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1111100x110xx0110010xxxxxxxxxx
                                                                        fmaxnmp.  */
                                                                     return 538;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0111101x110xx0110010xxxxxxxxxx
                                                                        fminnmp.  */
                                                                     return 545;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1111101x110xx0110010xxxxxxxxxx
                                                                        fminnmp.  */
                                                                     return 544;
                                                                   }
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011110xx1x1xx0110010xxxxxxxxxx
                                                                fcmgt.  */
                                                             return 496;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111110xx1x1xx0110010xxxxxxxxxx
                                                                fcmge.  */
                                                             return 526;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011110xx1x0xx1110010xxxxxxxxxx
                                                                fcvtas.  */
                                                             return 491;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111110xx1x0xx1110010xxxxxxxxxx
                                                                fcvtau.  */
                                                             return 521;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011110xx1x1xx1110010xxxxxxxxxx
                                                                fcvtas.  */
                                                             return 492;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111110xx1x1xx1110010xxxxxxxxxx
                                                                fcvtau.  */
                                                             return 522;
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011110xx1xxxxx001010xxxxxxxxxx
                                                            fadd.  */
                                                         return 896;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011110xx1xxxxx001010xxxxxxxxxx
                                                            sha256su0.  */
                                                         return 717;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx001010xxxxxxxxxx
                                                        sqxtun.  */
                                                     return 514;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11110xx1xxxx0101010xxxxxxxxxx
                                                        cmlt.  */
                                                     return 484;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111100x1x0xx1101010xxxxxxxxxx
                                                                    fcvtns.  */
                                                                 return 487;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111100x1x0xx1101010xxxxxxxxxx
                                                                    fcvtnu.  */
                                                                 return 517;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111101x1x0xx1101010xxxxxxxxxx
                                                                    fcvtps.  */
                                                                 return 501;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111101x1x0xx1101010xxxxxxxxxx
                                                                    fcvtpu.  */
                                                                 return 529;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111100x1x1xx1101010xxxxxxxxxx
                                                                    fcvtns.  */
                                                                 return 488;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111100x1x1xx1101010xxxxxxxxxx
                                                                    fcvtnu.  */
                                                                 return 518;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111101x1x1xx1101010xxxxxxxxxx
                                                                    fcvtps.  */
                                                                 return 502;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111101x1x1xx1101010xxxxxxxxxx
                                                                    fcvtpu.  */
                                                                 return 530;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx011110xx1xxxxx011010xxxxxxxxxx
                                                        fmaxnm.  */
                                                     return 904;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx011010xxxxxxxxxx
                                                        fcvtxn.  */
                                                     return 516;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 19) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11110xx1x0xxx111010xxxxxxxxxx
                                                        fcmlt.  */
                                                     return 499;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xxx11110xx1x1xxx111010xxxxxxxxxx
                                                        fcmlt.  */
                                                     return 500;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0x11110xx1xxxxx000110xxxxxxxxxx
                                                        fdiv.  */
                                                     return 894;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1x11110xx1xxxxx000110xxxxxxxxxx
                                                        sha1su1.  */
                                                     return 716;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx011110xx1xxxxx100110xxxxxxxxxx
                                                        cmeq.  */
                                                     return 483;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx100110xxxxxxxxxx
                                                        cmle.  */
                                                     return 512;
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xxx11110xx1xxxxx010110xxxxxxxxxx
                                                    fmin.  */
                                                 return 902;
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx011110xx100xx0110110xxxxxxxxxx
                                                                    fcmeq.  */
                                                                 return 497;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx111110xx100xx0110110xxxxxxxxxx
                                                                    fcmle.  */
                                                                 return 527;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx011110xx110xx0110110xxxxxxxxxx
                                                                    faddp.  */
                                                                 return 541;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx111110xx110xx0110110xxxxxxxxxx
                                                                    faddp.  */
                                                                 return 540;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx011110xx1x1xx0110110xxxxxxxxxx
                                                                fcmeq.  */
                                                             return 498;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx111110xx1x1xx0110110xxxxxxxxxx
                                                                fcmle.  */
                                                             return 528;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111100x1x0xx1110110xxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 493;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111100x1x0xx1110110xxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 523;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111101x1x0xx1110110xxxxxxxxxx
                                                                    frecpe.  */
                                                                 return 505;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111101x1x0xx1110110xxxxxxxxxx
                                                                    frsqrte.  */
                                                                 return 533;
                                                               }
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111100x1x1xx1110110xxxxxxxxxx
                                                                    scvtf.  */
                                                                 return 494;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111100x1x1xx1110110xxxxxxxxxx
                                                                    ucvtf.  */
                                                                 return 524;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111101x1x1xx1110110xxxxxxxxxx
                                                                    frecpe.  */
                                                                 return 506;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111101x1x1xx1110110xxxxxxxxxx
                                                                    frsqrte.  */
                                                                 return 534;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011110xx1xxxxx001110xxxxxxxxxx
                                                            fsub.  */
                                                         return 898;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011110xx1xxxxx001110xxxxxxxxxx
                                                            suqadd.  */
                                                         return 480;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx001110xxxxxxxxxx
                                                        usqadd.  */
                                                     return 509;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 29) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx011110xx1xxxx0101110xxxxxxxxxx
                                                            abs.  */
                                                         return 485;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xx111110xx1xxxx0101110xxxxxxxxxx
                                                            neg.  */
                                                         return 513;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         if (((word >> 20) & 0x1) == 0)
                                                           {
                                                             if (((word >> 23) & 0x1) == 0)
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0111100x100xx1101110xxxxxxxxxx
                                                                        fcvtms.  */
                                                                     return 489;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1111100x100xx1101110xxxxxxxxxx
                                                                        fcvtmu.  */
                                                                     return 519;
                                                                   }
                                                               }
                                                             else
                                                               {
                                                                 if (((word >> 29) & 0x1) == 0)
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx0111101x100xx1101110xxxxxxxxxx
                                                                        fcvtzs.  */
                                                                     return 503;
                                                                   }
                                                                 else
                                                                   {
                                                                     /* 33222222222211111111110000000000
                                                                        10987654321098765432109876543210
                                                                        xx1111101x100xx1101110xxxxxxxxxx
                                                                        fcvtzu.  */
                                                                     return 531;
                                                                   }
                                                               }
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xxx11110xx110xx1101110xxxxxxxxxx
                                                                addp.  */
                                                             return 537;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 23) & 0x1) == 0)
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111100x1x1xx1101110xxxxxxxxxx
                                                                    fcvtms.  */
                                                                 return 490;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111100x1x1xx1101110xxxxxxxxxx
                                                                    fcvtmu.  */
                                                                 return 520;
                                                               }
                                                           }
                                                         else
                                                           {
                                                             if (((word >> 29) & 0x1) == 0)
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx0111101x1x1xx1101110xxxxxxxxxx
                                                                    fcvtzs.  */
                                                                 return 504;
                                                               }
                                                             else
                                                               {
                                                                 /* 33222222222211111111110000000000
                                                                    10987654321098765432109876543210
                                                                    xx1111101x1x1xx1101110xxxxxxxxxx
                                                                    fcvtzu.  */
                                                                 return 532;
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 if (((word >> 29) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x0011110xx1xxxxx011110xxxxxxxxxx
                                                            fminnm.  */
                                                         return 906;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011110xx1xxxxx011110xxxxxxxxxx
                                                            sqabs.  */
                                                         return 481;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx011110xxxxxxxxxx
                                                        sqneg.  */
                                                     return 510;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 16) & 0x1) == 0)
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0111100x1xxxx0111110xxxxxxxxxx
                                                                fmaxp.  */
                                                             return 543;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx1111100x1xxxx0111110xxxxxxxxxx
                                                                fmaxp.  */
                                                             return 542;
                                                           }
                                                       }
                                                     else
                                                       {
                                                         if (((word >> 29) & 0x1) == 0)
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx0111101x1xxxx0111110xxxxxxxxxx
                                                                fminp.  */
                                                             return 547;
                                                           }
                                                         else
                                                           {
                                                             /* 33222222222211111111110000000000
                                                                10987654321098765432109876543210
                                                                xx1111101x1xxxx0111110xxxxxxxxxx
                                                                fminp.  */
                                                             return 546;
                                                           }
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 19) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx11110xx1x0xx1111110xxxxxxxxxx
                                                            frecpx.  */
                                                         return 507;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            xxx11110xx1x1xx1111110xxxxxxxxxx
                                                            frecpx.  */
                                                         return 508;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 11) & 0x1) == 0)
                               {
                                 if (((word >> 29) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         if (((word >> 4) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0011110xx1xxxxxxxxx01xxxxx0xxxx
                                                fccmp.  */
                                             return 851;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0011110xx1xxxxxxxxx01xxxxx1xxxx
                                                fccmpe.  */
                                             return 853;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxxx00001xxxxxxxxxx
                                                        add.  */
                                                     return 565;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxxx10001xxxxxxxxxx
                                                        sshl.  */
                                                     return 563;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx1xxxxxxx1001xxxxxxxxxx
                                                    fcmeq.  */
                                                 return 555;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx1xxxxxxx0101xxxxxxxxxx
                                                    srshl.  */
                                                 return 564;
                                               }
                                             else
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxx0x1101xxxxxxxxxx
                                                        cmgt.  */
                                                     return 561;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxx1x1101xxxxxxxxxx
                                                        sqdmulh.  */
                                                     return 552;
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxxx00001xxxxxxxxxx
                                                    sub.  */
                                                 return 586;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxxx10001xxxxxxxxxx
                                                    ushl.  */
                                                 return 584;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx1111100x1xxxxxxx1001xxxxxxxxxx
                                                    fcmge.  */
                                                 return 572;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx1111101x1xxxxxxx1001xxxxxxxxxx
                                                    fcmgt.  */
                                                 return 578;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxx0x0101xxxxxxxxxx
                                                    urshl.  */
                                                 return 585;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxx1x0101xxxxxxxxxx
                                                    fabd.  */
                                                 return 576;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 15) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxx0x1101xxxxxxxxxx
                                                    cmhi.  */
                                                 return 582;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxx1x1101xxxxxxxxxx
                                                    sqrdmulh.  */
                                                 return 571;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 29) & 0x1) == 0)
                                   {
                                     if (((word >> 30) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x0011110xx1xxxxxxxxx11xxxxxxxxxx
                                            fcsel.  */
                                         return 920;
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     if (((word >> 15) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011110xx1xxxxx000011xxxxxxxxxx
                                                            sqadd.  */
                                                         return 548;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x1011110xx1xxxxx100011xxxxxxxxxx
                                                            cmtst.  */
                                                         return 566;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxxx10011xxxxxxxxxx
                                                        sqshl.  */
                                                     return 550;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011110xx1xxxxxxx1011xxxxxxxxxx
                                                    sqsub.  */
                                                 return 549;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 13) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxx0x0111xxxxxxxxxx
                                                        sqrshl.  */
                                                     return 551;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxx1x0111xxxxxxxxxx
                                                        fmulx.  */
                                                     return 553;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 14) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1011110xx1xxxxxx01111xxxxxxxxxx
                                                        cmge.  */
                                                     return 562;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 23) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10111100x1xxxxxx11111xxxxxxxxxx
                                                            frecps.  */
                                                         return 557;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x10111101x1xxxxxx11111xxxxxxxxxx
                                                            frsqrts.  */
                                                         return 559;
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 15) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx000011xxxxxxxxxx
                                                        uqadd.  */
                                                     return 567;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx111110xx1xxxxx100011xxxxxxxxxx
                                                        cmeq.  */
                                                     return 587;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxxx10011xxxxxxxxxx
                                                    uqshl.  */
                                                 return 569;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx111110xx1xxxxxx01011xxxxxxxxxx
                                                    uqsub.  */
                                                 return 568;
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx1111100x1xxxxxx11011xxxxxxxxxx
                                                        facge.  */
                                                     return 574;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx1111101x1xxxxxx11011xxxxxxxxxx
                                                        facgt.  */
                                                     return 580;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx111110xx1xxxxxxx0111xxxxxxxxxx
                                                uqrshl.  */
                                             return 570;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx111110xx1xxxxxxx1111xxxxxxxxxx
                                                cmhs.  */
                                             return 583;
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }
             else
               {
                 if (((word >> 15) & 0x1) == 0)
                   {
                     if (((word >> 28) & 0x1) == 0)
                       {
                         if (((word >> 10) & 0x1) == 0)
                           {
                             if (((word >> 12) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx00111100xxxxxx0000x0xxxxxxxxxx
                                                        fdot.  */
                                                     return 3653;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x000111110xxxxxx0000x0xxxxxxxxxx
                                                            fmlal.  */
                                                         return 3105;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x100111110xxxxxx0000x0xxxxxxxxxx
                                                            fmlal.  */
                                                         return 3109;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx00111101xxxxxx0000x0xxxxxxxxxx
                                                        fdot.  */
                                                     return 3655;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x000111111xxxxxx0000x0xxxxxxxxxx
                                                            fmlalb.  */
                                                         return 3658;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x100111111xxxxxx0000x0xxxxxxxxxx
                                                            fmlalt.  */
                                                         return 3659;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx0000x0xxxxxxxxxx
                                                mla.  */
                                             return 119;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0001111xxxxxxxx0100x0xxxxxxxxxx
                                                    fmlsl.  */
                                                 return 3106;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1001111xxxxxxxx0100x0xxxxxxxxxx
                                                    fmlsl.  */
                                                 return 3110;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx0100x0xxxxxxxxxx
                                                mls.  */
                                             return 122;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0001111xxxxxxxx0010x0xxxxxxxxxx
                                                    smlal.  */
                                                 return 98;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1001111xxxxxxxx0010x0xxxxxxxxxx
                                                    smlal2.  */
                                                 return 99;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0101111xxxxxxxx0010x0xxxxxxxxxx
                                                    umlal.  */
                                                 return 120;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1101111xxxxxxxx0010x0xxxxxxxxxx
                                                    umlal2.  */
                                                 return 121;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0001111xxxxxxxx0110x0xxxxxxxxxx
                                                    smlsl.  */
                                                 return 102;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1001111xxxxxxxx0110x0xxxxxxxxxx
                                                    smlsl2.  */
                                                 return 103;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0101111xxxxxxxx0110x0xxxxxxxxxx
                                                    umlsl.  */
                                                 return 123;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1101111xxxxxxxx0110x0xxxxxxxxxx
                                                    umlsl2.  */
                                                 return 124;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 29) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0011110xxxxxxx0001x0xxxxxxxxxx
                                                    fmla.  */
                                                 return 114;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0011111xxxxxxx0001x0xxxxxxxxxx
                                                    fmla.  */
                                                 return 113;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0011110xxxxxxx0101x0xxxxxxxxxx
                                                    fmls.  */
                                                 return 116;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0011111xxxxxxx0101x0xxxxxxxxxx
                                                    fmls.  */
                                                 return 115;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0001111xxxxxxxx0011x0xxxxxxxxxx
                                                    sqdmlal.  */
                                                 return 100;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1001111xxxxxxxx0011x0xxxxxxxxxx
                                                    sqdmlal2.  */
                                                 return 101;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0001111xxxxxxxx0111x0xxxxxxxxxx
                                                    sqdmlsl.  */
                                                 return 104;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1001111xxxxxxxx0111x0xxxxxxxxxx
                                                    sqdmlsl2.  */
                                                 return 105;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx101111xxxxxxxx0xx1x0xxxxxxxxxx
                                        fcmla.  */
                                     return 131;
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 12) & 0x1) == 0)
                               {
                                 if (((word >> 29) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx001111xxxxxxxx0xx0x1xxxxxxxxxx
                                        movi.  */
                                     return 133;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx101111xxxxxxxx0xx0x1xxxxxxxxxx
                                        mvni.  */
                                     return 141;
                                   }
                               }
                             else
                               {
                                 if (((word >> 29) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx001111xxxxxxxx0xx1x1xxxxxxxxxx
                                        orr.  */
                                     return 134;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx101111xxxxxxxx0xx1x1xxxxxxxxxx
                                        bic.  */
                                     return 142;
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x0011111xx0xxxxx0xxxxxxxxxxxxxxx
                                        fmadd.  */
                                     return 910;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x0011111xx1xxxxx0xxxxxxxxxxxxxxx
                                        fnmadd.  */
                                     return 914;
                                   }
                               }
                             else
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10111110xxxxxxx000xx0xxxxxxxxxx
                                                    fmla.  */
                                                 return 431;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10111111xxxxxxx000xx0xxxxxxxxxx
                                                    fmla.  */
                                                 return 430;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 23) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10111110xxxxxxx010xx0xxxxxxxxxx
                                                    fmls.  */
                                                 return 433;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x10111111xxxxxxx010xx0xxxxxxxxxx
                                                    fmls.  */
                                                 return 432;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 14) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx001xx0xxxxxxxxxx
                                                sqdmlal.  */
                                             return 425;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx011xx0xxxxxxxxxx
                                                sqdmlsl.  */
                                             return 426;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx0x00x1xxxxxxxxxx
                                                sshr.  */
                                             return 590;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx0x10x1xxxxxxxxxx
                                                srshr.  */
                                             return 592;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011111xxxxxxxx0001x1xxxxxxxxxx
                                                    ssra.  */
                                                 return 591;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011111xxxxxxxx0101x1xxxxxxxxxx
                                                    shl.  */
                                                 return 594;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011111xxxxxxxx0011x1xxxxxxxxxx
                                                    srsra.  */
                                                 return 593;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011111xxxxxxxx0111x1xxxxxxxxxx
                                                    sqshl.  */
                                                 return 595;
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 12) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0000xxxxxxxxxxxx
                                            ushr.  */
                                         return 602;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0100xxxxxxxxxxxx
                                            sri.  */
                                         return 606;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0010xxxxxxxxxxxx
                                            urshr.  */
                                         return 604;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0110xxxxxxxxxxxx
                                            sqshlu.  */
                                         return 608;
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0001xxxxxxxxxxxx
                                            usra.  */
                                         return 603;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0101xxxxxxxxxxxx
                                            sli.  */
                                         return 607;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0011xxxxxxxxxxxx
                                            ursra.  */
                                         return 605;
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx0111xxxxxxxxxxxx
                                            uqshl.  */
                                         return 609;
                                       }
                                   }
                               }
                           }
                       }
                   }
                 else
                   {
                     if (((word >> 28) & 0x1) == 0)
                       {
                         if (((word >> 10) & 0x1) == 0)
                           {
                             if (((word >> 12) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx1000x0xxxxxxxxxx
                                                mul.  */
                                             return 106;
                                           }
                                         else
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x010111100xxxxxx1000x0xxxxxxxxxx
                                                            fmlallbb.  */
                                                         return 3664;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x110111100xxxxxx1000x0xxxxxxxxxx
                                                            fmlalltb.  */
                                                         return 3666;
                                                       }
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x010111110xxxxxx1000x0xxxxxxxxxx
                                                            fmlal2.  */
                                                         return 3107;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x110111110xxxxxx1000x0xxxxxxxxxx
                                                            fmlal2.  */
                                                         return 3111;
                                                       }
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 30) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x0101111x1xxxxxx1000x0xxxxxxxxxx
                                                        fmlallbt.  */
                                                     return 3665;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x1101111x1xxxxxx1000x0xxxxxxxxxx
                                                        fmlalltt.  */
                                                     return 3667;
                                                   }
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx1100x0xxxxxxxxxx
                                                sqdmulh.  */
                                             return 111;
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0101111xxxxxxxx1100x0xxxxxxxxxx
                                                    fmlsl2.  */
                                                 return 3108;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1101111xxxxxxxx1100x0xxxxxxxxxx
                                                    fmlsl2.  */
                                                 return 3112;
                                               }
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0001111xxxxxxxx1010x0xxxxxxxxxx
                                                    smull.  */
                                                 return 107;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1001111xxxxxxxx1010x0xxxxxxxxxx
                                                    smull2.  */
                                                 return 108;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0101111xxxxxxxx1010x0xxxxxxxxxx
                                                    umull.  */
                                                 return 125;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1101111xxxxxxxx1010x0xxxxxxxxxx
                                                    umull2.  */
                                                 return 126;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx1110x0xxxxxxxxxx
                                                sdot.  */
                                             return 3079;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx1110x0xxxxxxxxxx
                                                udot.  */
                                             return 3078;
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             if (((word >> 29) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0011110xxxxxxx1001x0xxxxxxxxxx
                                                    fmul.  */
                                                 return 118;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx1011110xxxxxxx1001x0xxxxxxxxxx
                                                    fmulx.  */
                                                 return 128;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 29) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx0011111xxxxxxx1001x0xxxxxxxxxx
                                                    fmul.  */
                                                 return 117;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx1011111xxxxxxx1001x0xxxxxxxxxx
                                                    fmulx.  */
                                                 return 127;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx1101x0xxxxxxxxxx
                                                sqrdmulh.  */
                                             return 112;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx1101x0xxxxxxxxxx
                                                sqrdmlah.  */
                                             return 129;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0x01111xxxxxxxx1011x0xxxxxxxxxx
                                                sqdmull.  */
                                             return 109;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1x01111xxxxxxxx1011x0xxxxxxxxxx
                                                sqdmull2.  */
                                             return 110;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             if (((word >> 22) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx00111100xxxxxx1111x0xxxxxxxxxx
                                                        sudot.  */
                                                     return 3216;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx00111110xxxxxx1111x0xxxxxxxxxx
                                                        usdot.  */
                                                     return 3215;
                                                   }
                                               }
                                             else
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        xx00111101xxxxxx1111x0xxxxxxxxxx
                                                        bfdot.  */
                                                     return 3227;
                                                   }
                                                 else
                                                   {
                                                     if (((word >> 30) & 0x1) == 0)
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x000111111xxxxxx1111x0xxxxxxxxxx
                                                            bfmlalb.  */
                                                         return 3235;
                                                       }
                                                     else
                                                       {
                                                         /* 33222222222211111111110000000000
                                                            10987654321098765432109876543210
                                                            x100111111xxxxxx1111x0xxxxxxxxxx
                                                            bfmlalt.  */
                                                         return 3234;
                                                       }
                                                   }
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx1111x0xxxxxxxxxx
                                                sqrdmlsh.  */
                                             return 130;
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 11) & 0x1) == 0)
                               {
                                 if (((word >> 14) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx10x001xxxxxxxxxx
                                                movi.  */
                                             return 135;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx10x001xxxxxxxxxx
                                                mvni.  */
                                             return 143;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx10x101xxxxxxxxxx
                                                orr.  */
                                             return 136;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx10x101xxxxxxxxxx
                                                bic.  */
                                             return 144;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx110x01xxxxxxxxxx
                                                movi.  */
                                             return 137;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx110x01xxxxxxxxxx
                                                mvni.  */
                                             return 145;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             if (((word >> 29) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx001111xxxxxxxx111001xxxxxxxxxx
                                                    movi.  */
                                                 return 138;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx101111xxxxxxxx111001xxxxxxxxxx
                                                    movi.  */
                                                 return 146;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 29) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx001111xxxxxxxx111101xxxxxxxxxx
                                                    fmov.  */
                                                 return 139;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    xx101111xxxxxxxx111101xxxxxxxxxx
                                                    fmov.  */
                                                 return 148;
                                               }
                                           }
                                       }
                                   }
                               }
                             else
                               {
                                 if (((word >> 12) & 0x1) == 0)
                                   {
                                     if (((word >> 29) & 0x1) == 0)
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0001111xxxxxxxx1xx011xxxxxxxxxx
                                                rshrn.  */
                                             return 382;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1001111xxxxxxxx1xx011xxxxxxxxxx
                                                rshrn2.  */
                                             return 383;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 30) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x0101111xxxxxxxx1xx011xxxxxxxxxx
                                                sqrshrun.  */
                                             return 406;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1101111xxxxxxxx1xx011xxxxxxxxxx
                                                sqrshrun2.  */
                                             return 407;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 13) & 0x1) == 0)
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0001111xxxxxxxx1x0111xxxxxxxxxx
                                                    sqrshrn.  */
                                                 return 386;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1001111xxxxxxxx1x0111xxxxxxxxxx
                                                    sqrshrn2.  */
                                                 return 387;
                                               }
                                           }
                                         else
                                           {
                                             if (((word >> 30) & 0x1) == 0)
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x0101111xxxxxxxx1x0111xxxxxxxxxx
                                                    uqrshrn.  */
                                                 return 410;
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1101111xxxxxxxx1x0111xxxxxxxxxx
                                                    uqrshrn2.  */
                                                 return 411;
                                               }
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 29) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx001111xxxxxxxx1x1111xxxxxxxxxx
                                                fmov.  */
                                             return 140;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx101111xxxxxxxx1x1111xxxxxxxxxx
                                                fcvtzu.  */
                                             return 418;
                                           }
                                       }
                                   }
                               }
                           }
                       }
                     else
                       {
                         if (((word >> 29) & 0x1) == 0)
                           {
                             if (((word >> 30) & 0x1) == 0)
                               {
                                 if (((word >> 21) & 0x1) == 0)
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x0011111xx0xxxxx1xxxxxxxxxxxxxxx
                                        fmsub.  */
                                     return 912;
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        x0011111xx1xxxxx1xxxxxxxxxxxxxxx
                                        fnmsub.  */
                                     return 916;
                                   }
                               }
                             else
                               {
                                 if (((word >> 10) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            x1011111xxxxxxxx1xx0x0xxxxxxxxxx
                                            sqdmulh.  */
                                         return 428;
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             if (((word >> 14) & 0x1) == 0)
                                               {
                                                 if (((word >> 23) & 0x1) == 0)
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x10111110xxxxxxx1001x0xxxxxxxxxx
                                                        fmul.  */
                                                     return 435;
                                                   }
                                                 else
                                                   {
                                                     /* 33222222222211111111110000000000
                                                        10987654321098765432109876543210
                                                        x10111111xxxxxxx1001x0xxxxxxxxxx
                                                        fmul.  */
                                                     return 434;
                                                   }
                                               }
                                             else
                                               {
                                                 /* 33222222222211111111110000000000
                                                    10987654321098765432109876543210
                                                    x1011111xxxxxxxx1101x0xxxxxxxxxx
                                                    sqrdmulh.  */
                                                 return 429;
                                               }
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx1x11x0xxxxxxxxxx
                                                sqdmull.  */
                                             return 427;
                                           }
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 11) & 0x1) == 0)
                                       {
                                         if (((word >> 12) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx1xx001xxxxxxxxxx
                                                scvtf.  */
                                             return 598;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx1xx101xxxxxxxxxx
                                                sqshrn.  */
                                             return 596;
                                           }
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx1x0x11xxxxxxxxxx
                                                sqrshrn.  */
                                             return 597;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                x1011111xxxxxxxx1x1x11xxxxxxxxxx
                                                fcvtzs.  */
                                             return 600;
                                           }
                                       }
                                   }
                               }
                           }
                         else
                           {
                             if (((word >> 10) & 0x1) == 0)
                               {
                                 if (((word >> 13) & 0x1) == 0)
                                   {
                                     if (((word >> 14) & 0x1) == 0)
                                       {
                                         if (((word >> 23) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx1111110xxxxxxx100xx0xxxxxxxxxx
                                                fmulx.  */
                                             return 437;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx1111111xxxxxxx100xx0xxxxxxxxxx
                                                fmulx.  */
                                             return 436;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx110xx0xxxxxxxxxx
                                            sqrdmlah.  */
                                         return 438;
                                       }
                                   }
                                 else
                                   {
                                     /* 33222222222211111111110000000000
                                        10987654321098765432109876543210
                                        xx111111xxxxxxxx1x1xx0xxxxxxxxxx
                                        sqrdmlsh.  */
                                     return 439;
                                   }
                               }
                             else
                               {
                                 if (((word >> 11) & 0x1) == 0)
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx111111xxxxxxxx1x0001xxxxxxxxxx
                                                sqshrun.  */
                                             return 610;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx111111xxxxxxxx1x1001xxxxxxxxxx
                                                ucvtf.  */
                                             return 614;
                                           }
                                       }
                                     else
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx1xx101xxxxxxxxxx
                                            uqshrn.  */
                                         return 612;
                                       }
                                   }
                                 else
                                   {
                                     if (((word >> 12) & 0x1) == 0)
                                       {
                                         /* 33222222222211111111110000000000
                                            10987654321098765432109876543210
                                            xx111111xxxxxxxx1xx011xxxxxxxxxx
                                            sqrshrun.  */
                                         return 611;
                                       }
                                     else
                                       {
                                         if (((word >> 13) & 0x1) == 0)
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx111111xxxxxxxx1x0111xxxxxxxxxx
                                                uqrshrn.  */
                                             return 613;
                                           }
                                         else
                                           {
                                             /* 33222222222211111111110000000000
                                                10987654321098765432109876543210
                                                xx111111xxxxxxxx1x1111xxxxxxxxxx
                                                fcvtzu.  */
                                             return 616;
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }
           }
       }
   }
}

/* Lookup opcode WORD in the opcode table.  N.B. all alias
  opcodes are ignored here.  */

const aarch64_opcode *
aarch64_opcode_lookup (uint32_t word)
{
 return aarch64_opcode_table + aarch64_opcode_lookup_1 (word);
}

const aarch64_opcode *
aarch64_find_next_opcode (const aarch64_opcode *opcode)
{
 /* Use the index as the key to locate the next opcode.  */
 int key = opcode - aarch64_opcode_table;
 int value;
 switch (key)
   {
   case 2615: value = 3471; break;     /* fclamp --> bfclamp.  */
   case 3471: return NULL;             /* bfclamp --> NULL.  */
   case 2616: value = 3472; break;     /* fclamp --> bfclamp.  */
   case 3472: return NULL;             /* bfclamp --> NULL.  */
   case 2629: value = 3455; break;     /* fmax --> bfmax.  */
   case 3455: return NULL;             /* bfmax --> NULL.  */
   case 3068: value = 3622; break;     /* bfscale --> fscale.  */
   case 3622: return NULL;             /* fscale --> NULL.  */
   case 2633: value = 3459; break;     /* fmaxnm --> bfmaxnm.  */
   case 3459: return NULL;             /* bfmaxnm --> NULL.  */
   case 2637: value = 3463; break;     /* fmin --> bfmin.  */
   case 3463: return NULL;             /* bfmin --> NULL.  */
   case 2641: value = 3467; break;     /* fminnm --> bfminnm.  */
   case 3467: return NULL;             /* bfminnm --> NULL.  */
   case 2631: value = 3457; break;     /* fmax --> bfmax.  */
   case 3457: return NULL;             /* bfmax --> NULL.  */
   case 3070: value = 3624; break;     /* bfscale --> fscale.  */
   case 3624: return NULL;             /* fscale --> NULL.  */
   case 2635: value = 3461; break;     /* fmaxnm --> bfmaxnm.  */
   case 3461: return NULL;             /* bfmaxnm --> NULL.  */
   case 2639: value = 3465; break;     /* fmin --> bfmin.  */
   case 3465: return NULL;             /* bfmin --> NULL.  */
   case 2643: value = 3469; break;     /* fminnm --> bfminnm.  */
   case 3469: return NULL;             /* bfminnm --> NULL.  */
   case 2630: value = 3456; break;     /* fmax --> bfmax.  */
   case 3456: return NULL;             /* bfmax --> NULL.  */
   case 3069: value = 3623; break;     /* bfscale --> fscale.  */
   case 3623: return NULL;             /* fscale --> NULL.  */
   case 3072: value = 3805; break;     /* bfmul --> fmul.  */
   case 3805: return NULL;             /* fmul --> NULL.  */
   case 3073: value = 3806; break;     /* bfmul --> fmul.  */
   case 3806: return NULL;             /* fmul --> NULL.  */
   case 2632: value = 3458; break;     /* fmax --> bfmax.  */
   case 3458: return NULL;             /* bfmax --> NULL.  */
   case 3071: value = 3625; break;     /* bfscale --> fscale.  */
   case 3625: return NULL;             /* fscale --> NULL.  */
   case 2634: value = 3460; break;     /* fmaxnm --> bfmaxnm.  */
   case 3460: return NULL;             /* bfmaxnm --> NULL.  */
   case 2636: value = 3462; break;     /* fmaxnm --> bfmaxnm.  */
   case 3462: return NULL;             /* bfmaxnm --> NULL.  */
   case 2638: value = 3464; break;     /* fmin --> bfmin.  */
   case 3464: return NULL;             /* bfmin --> NULL.  */
   case 2640: value = 3466; break;     /* fmin --> bfmin.  */
   case 3466: return NULL;             /* bfmin --> NULL.  */
   case 2642: value = 3468; break;     /* fminnm --> bfminnm.  */
   case 3468: return NULL;             /* bfminnm --> NULL.  */
   case 2644: value = 3470; break;     /* fminnm --> bfminnm.  */
   case 3470: return NULL;             /* bfminnm --> NULL.  */
   case 3074: value = 3807; break;     /* bfmul --> fmul.  */
   case 3807: return NULL;             /* fmul --> NULL.  */
   case 3075: value = 3808; break;     /* bfmul --> fmul.  */
   case 3808: return NULL;             /* fmul --> NULL.  */
   case 12: value = 19; break; /* add --> addg.  */
   case 19: value = 3362; break;       /* addg --> smax.  */
   case 3362: value = 3363; break;     /* smax --> umax.  */
   case 3363: value = 3364; break;     /* umax --> smin.  */
   case 3364: value = 3365; break;     /* smin --> umin.  */
   case 3365: return NULL;             /* umin --> NULL.  */
   case 16: value = 20; break; /* sub --> subg.  */
   case 20: return NULL;               /* subg --> NULL.  */
   case 1023: value = 1027; break;     /* stnp --> stp.  */
   case 1027: return NULL;             /* stp --> NULL.  */
   case 1021: value = 1022; break;     /* stllrb --> stllrh.  */
   case 1022: return NULL;             /* stllrh --> NULL.  */
   case 1024: value = 1028; break;     /* ldnp --> ldp.  */
   case 1028: return NULL;             /* ldp --> NULL.  */
   case 964: value = 2551; break;      /* prfm --> rprfm.  */
   case 2551: return NULL;             /* rprfm --> NULL.  */
   case 2558: value = 3448; break;     /* fclamp --> bfclamp.  */
   case 3448: return NULL;             /* bfclamp --> NULL.  */
   case 1544: value = 3451; break;     /* fadd --> bfadd.  */
   case 3451: return NULL;             /* bfadd --> NULL.  */
   case 1611: value = 3452; break;     /* fmul --> bfmul.  */
   case 3452: return NULL;             /* bfmul --> NULL.  */
   case 1637: value = 3453; break;     /* fsub --> bfsub.  */
   case 3453: return NULL;             /* bfsub --> NULL.  */
   case 1602: value = 3444; break;     /* fmla --> bfmla.  */
   case 3444: return NULL;             /* bfmla --> NULL.  */
   case 1606: value = 3445; break;     /* fmls --> bfmls.  */
   case 3445: return NULL;             /* bfmls --> NULL.  */
   case 1545: value = 3439; break;     /* fadd --> bfadd.  */
   case 3439: return NULL;             /* bfadd --> NULL.  */
   case 1592: value = 3441; break;     /* fmaxnm --> bfmaxnm.  */
   case 3441: return NULL;             /* bfmaxnm --> NULL.  */
   case 1612: value = 3446; break;     /* fmul --> bfmul.  */
   case 3446: return NULL;             /* bfmul --> NULL.  */
   case 1590: value = 3440; break;     /* fmax --> bfmax.  */
   case 3440: return NULL;             /* bfmax --> NULL.  */
   case 1638: value = 3447; break;     /* fsub --> bfsub.  */
   case 3447: return NULL;             /* bfsub --> NULL.  */
   case 1598: value = 3443; break;     /* fminnm --> bfminnm.  */
   case 3443: return NULL;             /* bfminnm --> NULL.  */
   case 1596: value = 3442; break;     /* fmin --> bfmin.  */
   case 3442: return NULL;             /* bfmin --> NULL.  */
   case 1635: value = 3067; break;     /* fscale --> bfscale.  */
   case 3067: return NULL;             /* bfscale --> NULL.  */
   case 863: value = 864; break;       /* xaflag --> axflag.  */
   case 864: value = 1322; break;      /* axflag --> tcommit.  */
   case 1322: value = 1325; break;     /* tcommit --> smstart.  */
   case 1325: value = 1326; break;     /* smstart --> smstop.  */
   case 1326: value = 1327; break;     /* smstop --> smstart.  */
   case 1327: value = 1328; break;     /* smstart --> smstop.  */
   case 1328: value = 1329; break;     /* smstop --> chkfeat.  */
   case 1329: value = 1331; break;     /* chkfeat --> msr.  */
   case 1331: value = 1332; break;     /* msr --> hint.  */
   case 1332: value = 1351; break;     /* hint --> clrex.  */
   case 1351: value = 1352; break;     /* clrex --> dsb.  */
   case 1352: value = 1353; break;     /* dsb --> dsb.  */
   case 1353: value = 1357; break;     /* dsb --> dmb.  */
   case 1357: value = 1358; break;     /* dmb --> isb.  */
   case 1358: value = 1359; break;     /* isb --> sb.  */
   case 1359: value = 1360; break;     /* sb --> gcspushx.  */
   case 1360: value = 1361; break;     /* gcspushx --> gcspopx.  */
   case 1361: value = 1362; break;     /* gcspopx --> gcspopcx.  */
   case 1362: value = 1363; break;     /* gcspopcx --> gcsss1.  */
   case 1363: value = 1364; break;     /* gcsss1 --> gcspushm.  */
   case 1364: value = 1371; break;     /* gcspushm --> sys.  */
   case 1371: value = 1378; break;     /* sys --> wfet.  */
   case 1378: value = 1379; break;     /* wfet --> wfit.  */
   case 1379: value = 1385; break;     /* wfit --> cfinv.  */
   case 1385: value = 1386; break;     /* cfinv --> msr.  */
   case 1386: return NULL;             /* msr --> NULL.  */
   case 1321: value = 1323; break;     /* tstart --> ttest.  */
   case 1323: value = 1365; break;     /* ttest --> gcsss2.  */
   case 1365: value = 1366; break;     /* gcsss2 --> gcspopm.  */
   case 1366: value = 1367; break;     /* gcspopm --> gcspopm.  */
   case 1367: value = 1387; break;     /* gcspopm --> sysl.  */
   case 1387: value = 1388; break;     /* sysl --> mrs.  */
   case 1388: return NULL;             /* mrs --> NULL.  */
   case 440: value = 441; break;       /* st4 --> st1.  */
   case 441: value = 442; break;       /* st1 --> st2.  */
   case 442: value = 443; break;       /* st2 --> st3.  */
   case 443: return NULL;              /* st3 --> NULL.  */
   case 1025: value = 1287; break;     /* stnp --> sttnp.  */
   case 1287: return NULL;             /* sttnp --> NULL.  */
   case 1029: value = 1291; break;     /* stp --> sttp.  */
   case 1291: return NULL;             /* sttp --> NULL.  */
   case 448: value = 449; break;       /* st4 --> st1.  */
   case 449: value = 450; break;       /* st1 --> st2.  */
   case 450: value = 451; break;       /* st2 --> st3.  */
   case 451: return NULL;              /* st3 --> NULL.  */
   case 1035: value = 1295; break;     /* stp --> sttp.  */
   case 1295: return NULL;             /* sttp --> NULL.  */
   case 444: value = 445; break;       /* ld4 --> ld1.  */
   case 445: value = 446; break;       /* ld1 --> ld2.  */
   case 446: value = 447; break;       /* ld2 --> ld3.  */
   case 447: return NULL;              /* ld3 --> NULL.  */
   case 1026: value = 1285; break;     /* ldnp --> ldtnp.  */
   case 1285: return NULL;             /* ldtnp --> NULL.  */
   case 460: value = 462; break;       /* ld1 --> ld1r.  */
   case 462: return NULL;              /* ld1r --> NULL.  */
   case 464: value = 466; break;       /* ld2 --> ld2r.  */
   case 466: return NULL;              /* ld2r --> NULL.  */
   case 461: value = 463; break;       /* ld3 --> ld3r.  */
   case 463: return NULL;              /* ld3r --> NULL.  */
   case 465: value = 467; break;       /* ld4 --> ld4r.  */
   case 467: return NULL;              /* ld4r --> NULL.  */
   case 1030: value = 1289; break;     /* ldp --> ldtp.  */
   case 1289: return NULL;             /* ldtp --> NULL.  */
   case 452: value = 453; break;       /* ld4 --> ld1.  */
   case 453: value = 454; break;       /* ld1 --> ld2.  */
   case 454: value = 455; break;       /* ld2 --> ld3.  */
   case 455: return NULL;              /* ld3 --> NULL.  */
   case 472: value = 474; break;       /* ld1 --> ld1r.  */
   case 474: return NULL;              /* ld1r --> NULL.  */
   case 473: value = 475; break;       /* ld3 --> ld3r.  */
   case 475: return NULL;              /* ld3r --> NULL.  */
   case 476: value = 478; break;       /* ld2 --> ld2r.  */
   case 478: return NULL;              /* ld2r --> NULL.  */
   case 477: value = 479; break;       /* ld4 --> ld4r.  */
   case 479: return NULL;              /* ld4r --> NULL.  */
   case 1036: value = 1293; break;     /* ldp --> ldtp.  */
   case 1293: return NULL;             /* ldtp --> NULL.  */
   case 3129: value = 3149; break;     /* ldfadd --> ldbfadd.  */
   case 3149: return NULL;             /* ldbfadd --> NULL.  */
   case 3130: value = 3150; break;     /* ldfadda --> ldbfadda.  */
   case 3150: return NULL;             /* ldbfadda --> NULL.  */
   case 3132: value = 3152; break;     /* ldfaddl --> ldbfaddl.  */
   case 3152: return NULL;             /* ldbfaddl --> NULL.  */
   case 3131: value = 3151; break;     /* ldfaddal --> ldbfaddal.  */
   case 3151: return NULL;             /* ldbfaddal --> NULL.  */
   case 3169: value = 3179; break;     /* stfadd --> stbfadd.  */
   case 3179: return NULL;             /* stbfadd --> NULL.  */
   case 3170: value = 3180; break;     /* stfaddl --> stbfaddl.  */
   case 3180: return NULL;             /* stbfaddl --> NULL.  */
   case 3133: value = 3153; break;     /* ldfmax --> ldbfmax.  */
   case 3153: return NULL;             /* ldbfmax --> NULL.  */
   case 3134: value = 3154; break;     /* ldfmaxa --> ldbfmaxa.  */
   case 3154: return NULL;             /* ldbfmaxa --> NULL.  */
   case 3136: value = 3156; break;     /* ldfmaxl --> ldbfmaxl.  */
   case 3156: return NULL;             /* ldbfmaxl --> NULL.  */
   case 3135: value = 3155; break;     /* ldfmaxal --> ldbfmaxal.  */
   case 3155: return NULL;             /* ldbfmaxal --> NULL.  */
   case 3171: value = 3181; break;     /* stfmax --> stbfmax.  */
   case 3181: return NULL;             /* stbfmax --> NULL.  */
   case 3172: value = 3182; break;     /* stfmaxl --> stbfmaxl.  */
   case 3182: return NULL;             /* stbfmaxl --> NULL.  */
   case 3137: value = 3157; break;     /* ldfmaxnm --> ldbfmaxnm.  */
   case 3157: return NULL;             /* ldbfmaxnm --> NULL.  */
   case 3138: value = 3158; break;     /* ldfmaxnma --> ldbfmaxnma.  */
   case 3158: return NULL;             /* ldbfmaxnma --> NULL.  */
   case 3140: value = 3160; break;     /* ldfmaxnml --> ldbfmaxnml.  */
   case 3160: return NULL;             /* ldbfmaxnml --> NULL.  */
   case 3139: value = 3159; break;     /* ldfmaxnmal --> ldbfmaxnmal.  */
   case 3159: return NULL;             /* ldbfmaxnmal --> NULL.  */
   case 3173: value = 3183; break;     /* stfmaxnm --> stbfmaxnm.  */
   case 3183: return NULL;             /* stbfmaxnm --> NULL.  */
   case 3174: value = 3184; break;     /* stfmaxnml --> stbfmaxnml.  */
   case 3184: return NULL;             /* stbfmaxnml --> NULL.  */
   case 3141: value = 3161; break;     /* ldfmin --> ldbfmin.  */
   case 3161: return NULL;             /* ldbfmin --> NULL.  */
   case 3142: value = 3162; break;     /* ldfmina --> ldbfmina.  */
   case 3162: return NULL;             /* ldbfmina --> NULL.  */
   case 3144: value = 3164; break;     /* ldfminl --> ldbfminl.  */
   case 3164: return NULL;             /* ldbfminl --> NULL.  */
   case 3143: value = 3163; break;     /* ldfminal --> ldbfminal.  */
   case 3163: return NULL;             /* ldbfminal --> NULL.  */
   case 3175: value = 3185; break;     /* stfmin --> stbfmin.  */
   case 3185: return NULL;             /* stbfmin --> NULL.  */
   case 3176: value = 3186; break;     /* stfminl --> stbfminl.  */
   case 3186: return NULL;             /* stbfminl --> NULL.  */
   case 3145: value = 3165; break;     /* ldfminnm --> ldbfminnm.  */
   case 3165: return NULL;             /* ldbfminnm --> NULL.  */
   case 3146: value = 3166; break;     /* ldfminnma --> ldbfminnma.  */
   case 3166: return NULL;             /* ldbfminnma --> NULL.  */
   case 3148: value = 3168; break;     /* ldfminnml --> ldbfminnml.  */
   case 3168: return NULL;             /* ldbfminnml --> NULL.  */
   case 3147: value = 3167; break;     /* ldfminnmal --> ldbfminnmal.  */
   case 3167: return NULL;             /* ldbfminnmal --> NULL.  */
   case 3177: value = 3187; break;     /* stfminnm --> stbfminnm.  */
   case 3187: return NULL;             /* stbfminnm --> NULL.  */
   case 3178: value = 3188; break;     /* stfminnml --> stbfminnml.  */
   case 3188: return NULL;             /* stbfminnml --> NULL.  */
   case 804: value = 805; break;       /* fcvtzs --> fcvtzs.  */
   case 805: return NULL;              /* fcvtzs --> NULL.  */
   case 800: value = 801; break;       /* scvtf --> scvtf.  */
   case 801: return NULL;              /* scvtf --> NULL.  */
   case 806: value = 807; break;       /* fcvtzu --> fcvtzu.  */
   case 807: return NULL;              /* fcvtzu --> NULL.  */
   case 802: value = 803; break;       /* ucvtf --> ucvtf.  */
   case 803: return NULL;              /* ucvtf --> NULL.  */
   case 808: value = 809; break;       /* fcvtns --> fcvtns.  */
   case 809: return NULL;              /* fcvtns --> NULL.  */
   case 836: value = 837; break;       /* fcvtms --> fcvtms.  */
   case 837: return NULL;              /* fcvtms --> NULL.  */
   case 830: value = 831; break;       /* fcvtps --> fcvtps.  */
   case 831: return NULL;              /* fcvtps --> NULL.  */
   case 842: value = 843; break;       /* fcvtzs --> fcvtzs.  */
   case 843: return NULL;              /* fcvtzs --> NULL.  */
   case 820: value = 821; break;       /* fcvtas --> fcvtas.  */
   case 821: return NULL;              /* fcvtas --> NULL.  */
   case 814: value = 815; break;       /* scvtf --> scvtf.  */
   case 815: return NULL;              /* scvtf --> NULL.  */
   case 826: value = 827; break;       /* fmov --> fmov.  */
   case 827: return NULL;              /* fmov --> NULL.  */
   case 811: value = 812; break;       /* fcvtnu --> fcvtnu.  */
   case 812: return NULL;              /* fcvtnu --> NULL.  */
   case 839: value = 840; break;       /* fcvtmu --> fcvtmu.  */
   case 840: return NULL;              /* fcvtmu --> NULL.  */
   case 833: value = 834; break;       /* fcvtpu --> fcvtpu.  */
   case 834: return NULL;              /* fcvtpu --> NULL.  */
   case 845: value = 846; break;       /* fcvtzu --> fcvtzu.  */
   case 846: return NULL;              /* fcvtzu --> NULL.  */
   case 823: value = 824; break;       /* fcvtau --> fcvtau.  */
   case 824: return NULL;              /* fcvtau --> NULL.  */
   case 817: value = 818; break;       /* ucvtf --> ucvtf.  */
   case 818: return NULL;              /* ucvtf --> NULL.  */
   case 828: value = 829; break;       /* fmov --> fmov.  */
   case 829: return NULL;              /* fmov --> NULL.  */
   case 869: value = 870; break;       /* fmov --> fmov.  */
   case 870: return NULL;              /* fmov --> NULL.  */
   case 878: value = 879; break;       /* frintn --> frintn.  */
   case 879: return NULL;              /* frintn --> NULL.  */
   case 873: value = 874; break;       /* fneg --> fneg.  */
   case 874: return NULL;              /* fneg --> NULL.  */
   case 882: value = 883; break;       /* frintm --> frintm.  */
   case 883: return NULL;              /* frintm --> NULL.  */
   case 871: value = 872; break;       /* fabs --> fabs.  */
   case 872: return NULL;              /* fabs --> NULL.  */
   case 880: value = 881; break;       /* frintp --> frintp.  */
   case 881: return NULL;              /* frintp --> NULL.  */
   case 875: value = 876; break;       /* fsqrt --> fsqrt.  */
   case 876: return NULL;              /* fsqrt --> NULL.  */
   case 884: value = 885; break;       /* frintz --> frintz.  */
   case 885: return NULL;              /* frintz --> NULL.  */
   case 877: value = 3231; break;      /* fcvt --> bfcvt.  */
   case 3231: return NULL;             /* bfcvt --> NULL.  */
   case 886: value = 887; break;       /* frinta --> frinta.  */
   case 887: return NULL;              /* frinta --> NULL.  */
   case 888: value = 889; break;       /* frintx --> frintx.  */
   case 889: return NULL;              /* frintx --> NULL.  */
   case 890: value = 891; break;       /* frinti --> frinti.  */
   case 891: return NULL;              /* frinti --> NULL.  */
   case 855: value = 856; break;       /* fcmp --> fcmp.  */
   case 856: return NULL;              /* fcmp --> NULL.  */
   case 857: value = 858; break;       /* fcmpe --> fcmpe.  */
   case 858: return NULL;              /* fcmpe --> NULL.  */
   case 859: value = 860; break;       /* fcmp --> fcmp.  */
   case 860: return NULL;              /* fcmp --> NULL.  */
   case 861: value = 862; break;       /* fcmpe --> fcmpe.  */
   case 862: return NULL;              /* fcmpe --> NULL.  */
   case 918: value = 919; break;       /* fmov --> fmov.  */
   case 919: return NULL;              /* fmov --> NULL.  */
   case 892: value = 893; break;       /* fmul --> fmul.  */
   case 893: return NULL;              /* fmul --> NULL.  */
   case 908: value = 909; break;       /* fnmul --> fnmul.  */
   case 909: return NULL;              /* fnmul --> NULL.  */
   case 900: value = 901; break;       /* fmax --> fmax.  */
   case 901: return NULL;              /* fmax --> NULL.  */
   case 896: value = 897; break;       /* fadd --> fadd.  */
   case 897: return NULL;              /* fadd --> NULL.  */
   case 904: value = 905; break;       /* fmaxnm --> fmaxnm.  */
   case 905: return NULL;              /* fmaxnm --> NULL.  */
   case 894: value = 895; break;       /* fdiv --> fdiv.  */
   case 895: return NULL;              /* fdiv --> NULL.  */
   case 902: value = 903; break;       /* fmin --> fmin.  */
   case 903: return NULL;              /* fmin --> NULL.  */
   case 898: value = 899; break;       /* fsub --> fsub.  */
   case 899: return NULL;              /* fsub --> NULL.  */
   case 906: value = 907; break;       /* fminnm --> fminnm.  */
   case 907: return NULL;              /* fminnm --> NULL.  */
   case 851: value = 852; break;       /* fccmp --> fccmp.  */
   case 852: return NULL;              /* fccmp --> NULL.  */
   case 853: value = 854; break;       /* fccmpe --> fccmpe.  */
   case 854: return NULL;              /* fccmpe --> NULL.  */
   case 920: value = 921; break;       /* fcsel --> fcsel.  */
   case 921: return NULL;              /* fcsel --> NULL.  */
   case 133: value = 374; break;       /* movi --> sshr.  */
   case 374: value = 376; break;       /* sshr --> srshr.  */
   case 376: return NULL;              /* srshr --> NULL.  */
   case 141: value = 396; break;       /* mvni --> ushr.  */
   case 396: value = 398; break;       /* ushr --> urshr.  */
   case 398: value = 400; break;       /* urshr --> sri.  */
   case 400: value = 402; break;       /* sri --> sqshlu.  */
   case 402: return NULL;              /* sqshlu --> NULL.  */
   case 134: value = 375; break;       /* orr --> ssra.  */
   case 375: value = 377; break;       /* ssra --> srsra.  */
   case 377: value = 378; break;       /* srsra --> shl.  */
   case 378: value = 379; break;       /* shl --> sqshl.  */
   case 379: return NULL;              /* sqshl --> NULL.  */
   case 142: value = 397; break;       /* bic --> usra.  */
   case 397: value = 399; break;       /* usra --> ursra.  */
   case 399: value = 401; break;       /* ursra --> sli.  */
   case 401: value = 403; break;       /* sli --> uqshl.  */
   case 403: return NULL;              /* uqshl --> NULL.  */
   case 910: value = 911; break;       /* fmadd --> fmadd.  */
   case 911: return NULL;              /* fmadd --> NULL.  */
   case 914: value = 915; break;       /* fnmadd --> fnmadd.  */
   case 915: return NULL;              /* fnmadd --> NULL.  */
   case 135: value = 380; break;       /* movi --> shrn.  */
   case 380: value = 381; break;       /* shrn --> shrn2.  */
   case 381: value = 388; break;       /* shrn2 --> sshll.  */
   case 388: value = 390; break;       /* sshll --> sshll2.  */
   case 390: return NULL;              /* sshll2 --> NULL.  */
   case 143: value = 404; break;       /* mvni --> sqshrun.  */
   case 404: value = 405; break;       /* sqshrun --> sqshrun2.  */
   case 405: value = 412; break;       /* sqshrun2 --> ushll.  */
   case 412: value = 414; break;       /* ushll --> ushll2.  */
   case 414: return NULL;              /* ushll2 --> NULL.  */
   case 136: value = 384; break;       /* orr --> sqshrn.  */
   case 384: value = 385; break;       /* sqshrn --> sqshrn2.  */
   case 385: return NULL;              /* sqshrn2 --> NULL.  */
   case 144: value = 408; break;       /* bic --> uqshrn.  */
   case 408: value = 409; break;       /* uqshrn --> uqshrn2.  */
   case 409: return NULL;              /* uqshrn2 --> NULL.  */
   case 138: value = 392; break;       /* movi --> scvtf.  */
   case 392: value = 393; break;       /* scvtf --> scvtf.  */
   case 393: return NULL;              /* scvtf --> NULL.  */
   case 146: value = 147; break;       /* movi --> movi.  */
   case 147: value = 416; break;       /* movi --> ucvtf.  */
   case 416: value = 417; break;       /* ucvtf --> ucvtf.  */
   case 417: return NULL;              /* ucvtf --> NULL.  */
   case 140: value = 394; break;       /* fmov --> fcvtzs.  */
   case 394: value = 395; break;       /* fcvtzs --> fcvtzs.  */
   case 395: return NULL;              /* fcvtzs --> NULL.  */
   case 418: value = 419; break;       /* fcvtzu --> fcvtzu.  */
   case 419: return NULL;              /* fcvtzu --> NULL.  */
   case 912: value = 913; break;       /* fmsub --> fmsub.  */
   case 913: return NULL;              /* fmsub --> NULL.  */
   case 916: value = 917; break;       /* fnmsub --> fnmsub.  */
   case 917: return NULL;              /* fnmsub --> NULL.  */
   case 598: value = 599; break;       /* scvtf --> scvtf.  */
   case 599: return NULL;              /* scvtf --> NULL.  */
   case 600: value = 601; break;       /* fcvtzs --> fcvtzs.  */
   case 601: return NULL;              /* fcvtzs --> NULL.  */
   case 614: value = 615; break;       /* ucvtf --> ucvtf.  */
   case 615: return NULL;              /* ucvtf --> NULL.  */
   case 616: value = 617; break;       /* fcvtzu --> fcvtzu.  */
   case 617: return NULL;              /* fcvtzu --> NULL.  */
   default: return NULL;
   }

 return aarch64_opcode_table + value;
}

const aarch64_opcode *
aarch64_find_alias_opcode (const aarch64_opcode *opcode)
{
 /* Use the index as the key to locate the alias opcode.  */
 int key = opcode - aarch64_opcode_table;
 int value;
 switch (key)
   {
   case 2: value = 3; break;   /* sbc --> ngc.  */
   case 4: value = 5; break;   /* sbcs --> ngcs.  */
   case 7: value = 8; break;   /* adds --> cmn.  */
   case 10: value = 11; break; /* subs --> cmp.  */
   case 12: value = 13; break; /* add --> mov.  */
   case 14: value = 15; break; /* adds --> cmn.  */
   case 17: value = 18; break; /* subs --> cmp.  */
   case 22: value = 23; break; /* adds --> cmn.  */
   case 24: value = 25; break; /* sub --> neg.  */
   case 26: value = 27; break; /* subs --> cmp.  */
   case 152: value = 153; break;       /* umov --> mov.  */
   case 154: value = 155; break;       /* ins --> mov.  */
   case 156: value = 157; break;       /* ins --> mov.  */
   case 242: value = 243; break;       /* not --> mvn.  */
   case 317: value = 318; break;       /* orr --> mov.  */
   case 388: value = 389; break;       /* sshll --> sxtl.  */
   case 390: value = 391; break;       /* sshll2 --> sxtl2.  */
   case 412: value = 413; break;       /* ushll --> uxtl.  */
   case 414: value = 415; break;       /* ushll2 --> uxtl2.  */
   case 535: value = 536; break;       /* dup --> mov.  */
   case 618: value = 623; break;       /* sbfm --> sxtw.  */
   case 625: value = 627; break;       /* bfm --> bfc.  */
   case 629: value = 633; break;       /* ubfm --> uxth.  */
   case 658: value = 659; break;       /* cbgt --> cblt.  */
   case 660: value = 661; break;       /* cbge --> cble.  */
   case 662: value = 663; break;       /* cbhi --> cblo.  */
   case 664: value = 665; break;       /* cbhs --> cbls.  */
   case 668: value = 669; break;       /* cbgt --> cbge.  */
   case 670: value = 671; break;       /* cblt --> cble.  */
   case 672: value = 673; break;       /* cbhi --> cbhs.  */
   case 674: value = 675; break;       /* cblo --> cbls.  */
   case 678: value = 679; break;       /* cbbgt --> cbblt.  */
   case 680: value = 681; break;       /* cbbge --> cbble.  */
   case 682: value = 683; break;       /* cbbhi --> cbblo.  */
   case 684: value = 685; break;       /* cbbhs --> cbbls.  */
   case 688: value = 689; break;       /* cbhgt --> cbhlt.  */
   case 690: value = 691; break;       /* cbhge --> cbhle.  */
   case 692: value = 693; break;       /* cbhhi --> cbhlo.  */
   case 694: value = 695; break;       /* cbhhs --> cbhls.  */
   case 703: value = 705; break;       /* csinc --> cset.  */
   case 706: value = 708; break;       /* csinv --> csetm.  */
   case 709: value = 710; break;       /* csneg --> cneg.  */
   case 728: value = 729; break;       /* rev --> rev64.  */
   case 753: value = 754; break;       /* lslv --> lsl.  */
   case 755: value = 756; break;       /* lsrv --> lsr.  */
   case 757: value = 758; break;       /* asrv --> asr.  */
   case 759: value = 760; break;       /* rorv --> ror.  */
   case 762: value = 763; break;       /* subps --> cmpp.  */
   case 775: value = 776; break;       /* madd --> mul.  */
   case 777: value = 778; break;       /* msub --> mneg.  */
   case 779: value = 780; break;       /* smaddl --> smull.  */
   case 781: value = 782; break;       /* smsubl --> smnegl.  */
   case 784: value = 785; break;       /* umaddl --> umull.  */
   case 786: value = 787; break;       /* umsubl --> umnegl.  */
   case 798: value = 799; break;       /* extr --> ror.  */
   case 1047: value = 1048; break;     /* and --> bic.  */
   case 1049: value = 1050; break;     /* orr --> mov.  */
   case 1052: value = 1053; break;     /* ands --> tst.  */
   case 1056: value = 1058; break;     /* orr --> uxtw.  */
   case 1059: value = 1060; break;     /* orn --> mvn.  */
   case 1063: value = 1064; break;     /* ands --> tst.  */
   case 1094: value = 1190; break;     /* ldaddb --> staddb.  */
   case 1095: value = 1191; break;     /* ldaddh --> staddh.  */
   case 1096: value = 1192; break;     /* ldadd --> stadd.  */
   case 1098: value = 1193; break;     /* ldaddlb --> staddlb.  */
   case 1101: value = 1194; break;     /* ldaddlh --> staddlh.  */
   case 1104: value = 1195; break;     /* ldaddl --> staddl.  */
   case 1106: value = 1196; break;     /* ldclrb --> stclrb.  */
   case 1107: value = 1197; break;     /* ldclrh --> stclrh.  */
   case 1108: value = 1198; break;     /* ldclr --> stclr.  */
   case 1110: value = 1199; break;     /* ldclrlb --> stclrlb.  */
   case 1113: value = 1200; break;     /* ldclrlh --> stclrlh.  */
   case 1116: value = 1201; break;     /* ldclrl --> stclrl.  */
   case 1118: value = 1202; break;     /* ldeorb --> steorb.  */
   case 1119: value = 1203; break;     /* ldeorh --> steorh.  */
   case 1120: value = 1204; break;     /* ldeor --> steor.  */
   case 1122: value = 1205; break;     /* ldeorlb --> steorlb.  */
   case 1125: value = 1206; break;     /* ldeorlh --> steorlh.  */
   case 1128: value = 1207; break;     /* ldeorl --> steorl.  */
   case 1130: value = 1208; break;     /* ldsetb --> stsetb.  */
   case 1131: value = 1209; break;     /* ldseth --> stseth.  */
   case 1132: value = 1210; break;     /* ldset --> stset.  */
   case 1134: value = 1211; break;     /* ldsetlb --> stsetlb.  */
   case 1137: value = 1212; break;     /* ldsetlh --> stsetlh.  */
   case 1140: value = 1213; break;     /* ldsetl --> stsetl.  */
   case 1142: value = 1214; break;     /* ldsmaxb --> stsmaxb.  */
   case 1143: value = 1215; break;     /* ldsmaxh --> stsmaxh.  */
   case 1144: value = 1216; break;     /* ldsmax --> stsmax.  */
   case 1146: value = 1217; break;     /* ldsmaxlb --> stsmaxlb.  */
   case 1149: value = 1218; break;     /* ldsmaxlh --> stsmaxlh.  */
   case 1152: value = 1219; break;     /* ldsmaxl --> stsmaxl.  */
   case 1154: value = 1220; break;     /* ldsminb --> stsminb.  */
   case 1155: value = 1221; break;     /* ldsminh --> stsminh.  */
   case 1156: value = 1222; break;     /* ldsmin --> stsmin.  */
   case 1158: value = 1223; break;     /* ldsminlb --> stsminlb.  */
   case 1161: value = 1224; break;     /* ldsminlh --> stsminlh.  */
   case 1164: value = 1225; break;     /* ldsminl --> stsminl.  */
   case 1166: value = 1226; break;     /* ldumaxb --> stumaxb.  */
   case 1167: value = 1227; break;     /* ldumaxh --> stumaxh.  */
   case 1168: value = 1228; break;     /* ldumax --> stumax.  */
   case 1170: value = 1229; break;     /* ldumaxlb --> stumaxlb.  */
   case 1173: value = 1230; break;     /* ldumaxlh --> stumaxlh.  */
   case 1176: value = 1231; break;     /* ldumaxl --> stumaxl.  */
   case 1178: value = 1232; break;     /* lduminb --> stuminb.  */
   case 1179: value = 1233; break;     /* lduminh --> stuminh.  */
   case 1180: value = 1234; break;     /* ldumin --> stumin.  */
   case 1182: value = 1235; break;     /* lduminlb --> stuminlb.  */
   case 1185: value = 1236; break;     /* lduminlh --> stuminlh.  */
   case 1188: value = 1237; break;     /* lduminl --> stuminl.  */
   case 1266: value = 1267; break;     /* ldtadd --> sttadd.  */
   case 1270: value = 1271; break;     /* ldtaddl --> sttaddl.  */
   case 1272: value = 1273; break;     /* ldtclr --> sttclr.  */
   case 1276: value = 1277; break;     /* ldtclrl --> sttclrl.  */
   case 1278: value = 1279; break;     /* ldtset --> sttset.  */
   case 1282: value = 1283; break;     /* ldtsetl --> sttsetl.  */
   case 1314: value = 1315; break;     /* movn --> mov.  */
   case 1316: value = 1317; break;     /* movz --> mov.  */
   case 1332: value = 3373; break;     /* hint --> clrbhb.  */
   case 1352: value = 1356; break;     /* dsb --> pssbb.  */
   case 1353: value = 1353; break;     /* dsb --> dsb.  */
   case 1371: value = 3374; break;     /* sys --> trcit.  */
   case 1372: value = 1377; break;     /* sysp --> tlbip.  */
   case 1378: value = 1378; break;     /* wfet --> wfet.  */
   case 1379: value = 1379; break;     /* wfit --> wfit.  */
   case 1447: value = 2184; break;     /* and --> bic.  */
   case 1449: value = 1430; break;     /* and --> mov.  */
   case 1450: value = 1434; break;     /* ands --> movs.  */
   case 1485: value = 2185; break;     /* cmpge --> cmple.  */
   case 1488: value = 2188; break;     /* cmpgt --> cmplt.  */
   case 1490: value = 2186; break;     /* cmphi --> cmplo.  */
   case 1493: value = 2187; break;     /* cmphs --> cmpls.  */
   case 1515: value = 1427; break;     /* cpy --> mov.  */
   case 1516: value = 1429; break;     /* cpy --> mov.  */
   case 1517: value = 2195; break;     /* cpy --> fmov.  */
   case 1529: value = 1421; break;     /* dup --> mov.  */
   case 1530: value = 1424; break;     /* dup --> mov.  */
   case 1531: value = 2194; break;     /* dup --> fmov.  */
   case 1532: value = 1425; break;     /* dupm --> mov.  */
   case 1534: value = 2189; break;     /* eor --> eon.  */
   case 1536: value = 1435; break;     /* eor --> not.  */
   case 1537: value = 1436; break;     /* eors --> nots.  */
   case 1542: value = 2190; break;     /* facge --> facle.  */
   case 1543: value = 2191; break;     /* facgt --> faclt.  */
   case 1556: value = 2192; break;     /* fcmge --> fcmle.  */
   case 1558: value = 2193; break;     /* fcmgt --> fcmlt.  */
   case 1564: value = 1418; break;     /* fcpy --> fmov.  */
   case 1587: value = 1417; break;     /* fdup --> fmov.  */
   case 1872: value = 1873; break;     /* ldr --> ldr.  */
   case 1903: value = 1419; break;     /* orr --> mov.  */
   case 1904: value = 2196; break;     /* orr --> orn.  */
   case 1906: value = 1423; break;     /* orr --> mov.  */
   case 1907: value = 1433; break;     /* orrs --> movs.  */
   case 1909: value = 1910; break;     /* pfalse --> pfalse.  */
   case 1970: value = 1428; break;     /* sel --> mov.  */
   case 1971: value = 1431; break;     /* sel --> mov.  */
   case 2091: value = 2092; break;     /* str --> str.  */
   case 2531: value = 2529; break;     /* mova --> mov.  */
   case 2532: value = 2530; break;     /* mova --> mov.  */
   case 2549: value = 2550; break;     /* psel --> psel.  */
   case 2763: value = 2755; break;     /* mova --> mov.  */
   case 2764: value = 2756; break;     /* mova --> mov.  */
   case 2765: value = 2757; break;     /* mova --> mov.  */
   case 2766: value = 2758; break;     /* mova --> mov.  */
   case 2767: value = 2759; break;     /* mova --> mov.  */
   case 2768: value = 2760; break;     /* mova --> mov.  */
   case 2769: value = 2761; break;     /* mova --> mov.  */
   case 2770: value = 2762; break;     /* mova --> mov.  */
   default: return NULL;
   }

 return aarch64_opcode_table + value;
}

const aarch64_opcode *
aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
{
 /* Use the index as the key to locate the next opcode.  */
 int key = opcode - aarch64_opcode_table;
 int value;
 switch (key)
   {
   case 3: value = 2; break;   /* ngc --> sbc.  */
   case 5: value = 4; break;   /* ngcs --> sbcs.  */
   case 8: value = 7; break;   /* cmn --> adds.  */
   case 11: value = 10; break; /* cmp --> subs.  */
   case 13: value = 12; break; /* mov --> add.  */
   case 15: value = 14; break; /* cmn --> adds.  */
   case 18: value = 17; break; /* cmp --> subs.  */
   case 23: value = 22; break; /* cmn --> adds.  */
   case 25: value = 24; break; /* neg --> sub.  */
   case 27: value = 28; break; /* cmp --> negs.  */
   case 28: value = 26; break; /* negs --> subs.  */
   case 153: value = 152; break;       /* mov --> umov.  */
   case 155: value = 154; break;       /* mov --> ins.  */
   case 157: value = 156; break;       /* mov --> ins.  */
   case 243: value = 242; break;       /* mvn --> not.  */
   case 318: value = 317; break;       /* mov --> orr.  */
   case 389: value = 388; break;       /* sxtl --> sshll.  */
   case 391: value = 390; break;       /* sxtl2 --> sshll2.  */
   case 413: value = 412; break;       /* uxtl --> ushll.  */
   case 415: value = 414; break;       /* uxtl2 --> ushll2.  */
   case 536: value = 535; break;       /* mov --> dup.  */
   case 623: value = 622; break;       /* sxtw --> sxth.  */
   case 622: value = 621; break;       /* sxth --> sxtb.  */
   case 621: value = 624; break;       /* sxtb --> asr.  */
   case 624: value = 620; break;       /* asr --> sbfx.  */
   case 620: value = 619; break;       /* sbfx --> sbfiz.  */
   case 619: value = 618; break;       /* sbfiz --> sbfm.  */
   case 627: value = 628; break;       /* bfc --> bfxil.  */
   case 628: value = 626; break;       /* bfxil --> bfi.  */
   case 626: value = 625; break;       /* bfi --> bfm.  */
   case 633: value = 632; break;       /* uxth --> uxtb.  */
   case 632: value = 635; break;       /* uxtb --> lsr.  */
   case 635: value = 634; break;       /* lsr --> lsl.  */
   case 634: value = 631; break;       /* lsl --> ubfx.  */
   case 631: value = 630; break;       /* ubfx --> ubfiz.  */
   case 630: value = 629; break;       /* ubfiz --> ubfm.  */
   case 659: value = 658; break;       /* cblt --> cbgt.  */
   case 661: value = 660; break;       /* cble --> cbge.  */
   case 663: value = 662; break;       /* cblo --> cbhi.  */
   case 665: value = 664; break;       /* cbls --> cbhs.  */
   case 669: value = 668; break;       /* cbge --> cbgt.  */
   case 671: value = 670; break;       /* cble --> cblt.  */
   case 673: value = 672; break;       /* cbhs --> cbhi.  */
   case 675: value = 674; break;       /* cbls --> cblo.  */
   case 679: value = 678; break;       /* cbblt --> cbbgt.  */
   case 681: value = 680; break;       /* cbble --> cbbge.  */
   case 683: value = 682; break;       /* cbblo --> cbbhi.  */
   case 685: value = 684; break;       /* cbbls --> cbbhs.  */
   case 689: value = 688; break;       /* cbhlt --> cbhgt.  */
   case 691: value = 690; break;       /* cbhle --> cbhge.  */
   case 693: value = 692; break;       /* cbhlo --> cbhhi.  */
   case 695: value = 694; break;       /* cbhls --> cbhhs.  */
   case 705: value = 704; break;       /* cset --> cinc.  */
   case 704: value = 703; break;       /* cinc --> csinc.  */
   case 708: value = 707; break;       /* csetm --> cinv.  */
   case 707: value = 706; break;       /* cinv --> csinv.  */
   case 710: value = 709; break;       /* cneg --> csneg.  */
   case 729: value = 728; break;       /* rev64 --> rev.  */
   case 754: value = 753; break;       /* lsl --> lslv.  */
   case 756: value = 755; break;       /* lsr --> lsrv.  */
   case 758: value = 757; break;       /* asr --> asrv.  */
   case 760: value = 759; break;       /* ror --> rorv.  */
   case 763: value = 762; break;       /* cmpp --> subps.  */
   case 776: value = 775; break;       /* mul --> madd.  */
   case 778: value = 777; break;       /* mneg --> msub.  */
   case 780: value = 779; break;       /* smull --> smaddl.  */
   case 782: value = 781; break;       /* smnegl --> smsubl.  */
   case 785: value = 784; break;       /* umull --> umaddl.  */
   case 787: value = 786; break;       /* umnegl --> umsubl.  */
   case 799: value = 798; break;       /* ror --> extr.  */
   case 1048: value = 1047; break;     /* bic --> and.  */
   case 1050: value = 1049; break;     /* mov --> orr.  */
   case 1053: value = 1052; break;     /* tst --> ands.  */
   case 1058: value = 1057; break;     /* uxtw --> mov.  */
   case 1057: value = 1056; break;     /* mov --> orr.  */
   case 1060: value = 1059; break;     /* mvn --> orn.  */
   case 1064: value = 1063; break;     /* tst --> ands.  */
   case 1190: value = 1094; break;     /* staddb --> ldaddb.  */
   case 1191: value = 1095; break;     /* staddh --> ldaddh.  */
   case 1192: value = 1096; break;     /* stadd --> ldadd.  */
   case 1193: value = 1098; break;     /* staddlb --> ldaddlb.  */
   case 1194: value = 1101; break;     /* staddlh --> ldaddlh.  */
   case 1195: value = 1104; break;     /* staddl --> ldaddl.  */
   case 1196: value = 1106; break;     /* stclrb --> ldclrb.  */
   case 1197: value = 1107; break;     /* stclrh --> ldclrh.  */
   case 1198: value = 1108; break;     /* stclr --> ldclr.  */
   case 1199: value = 1110; break;     /* stclrlb --> ldclrlb.  */
   case 1200: value = 1113; break;     /* stclrlh --> ldclrlh.  */
   case 1201: value = 1116; break;     /* stclrl --> ldclrl.  */
   case 1202: value = 1118; break;     /* steorb --> ldeorb.  */
   case 1203: value = 1119; break;     /* steorh --> ldeorh.  */
   case 1204: value = 1120; break;     /* steor --> ldeor.  */
   case 1205: value = 1122; break;     /* steorlb --> ldeorlb.  */
   case 1206: value = 1125; break;     /* steorlh --> ldeorlh.  */
   case 1207: value = 1128; break;     /* steorl --> ldeorl.  */
   case 1208: value = 1130; break;     /* stsetb --> ldsetb.  */
   case 1209: value = 1131; break;     /* stseth --> ldseth.  */
   case 1210: value = 1132; break;     /* stset --> ldset.  */
   case 1211: value = 1134; break;     /* stsetlb --> ldsetlb.  */
   case 1212: value = 1137; break;     /* stsetlh --> ldsetlh.  */
   case 1213: value = 1140; break;     /* stsetl --> ldsetl.  */
   case 1214: value = 1142; break;     /* stsmaxb --> ldsmaxb.  */
   case 1215: value = 1143; break;     /* stsmaxh --> ldsmaxh.  */
   case 1216: value = 1144; break;     /* stsmax --> ldsmax.  */
   case 1217: value = 1146; break;     /* stsmaxlb --> ldsmaxlb.  */
   case 1218: value = 1149; break;     /* stsmaxlh --> ldsmaxlh.  */
   case 1219: value = 1152; break;     /* stsmaxl --> ldsmaxl.  */
   case 1220: value = 1154; break;     /* stsminb --> ldsminb.  */
   case 1221: value = 1155; break;     /* stsminh --> ldsminh.  */
   case 1222: value = 1156; break;     /* stsmin --> ldsmin.  */
   case 1223: value = 1158; break;     /* stsminlb --> ldsminlb.  */
   case 1224: value = 1161; break;     /* stsminlh --> ldsminlh.  */
   case 1225: value = 1164; break;     /* stsminl --> ldsminl.  */
   case 1226: value = 1166; break;     /* stumaxb --> ldumaxb.  */
   case 1227: value = 1167; break;     /* stumaxh --> ldumaxh.  */
   case 1228: value = 1168; break;     /* stumax --> ldumax.  */
   case 1229: value = 1170; break;     /* stumaxlb --> ldumaxlb.  */
   case 1230: value = 1173; break;     /* stumaxlh --> ldumaxlh.  */
   case 1231: value = 1176; break;     /* stumaxl --> ldumaxl.  */
   case 1232: value = 1178; break;     /* stuminb --> lduminb.  */
   case 1233: value = 1179; break;     /* stuminh --> lduminh.  */
   case 1234: value = 1180; break;     /* stumin --> ldumin.  */
   case 1235: value = 1182; break;     /* stuminlb --> lduminlb.  */
   case 1236: value = 1185; break;     /* stuminlh --> lduminlh.  */
   case 1237: value = 1188; break;     /* stuminl --> lduminl.  */
   case 1267: value = 1266; break;     /* sttadd --> ldtadd.  */
   case 1271: value = 1270; break;     /* sttaddl --> ldtaddl.  */
   case 1273: value = 1272; break;     /* sttclr --> ldtclr.  */
   case 1277: value = 1276; break;     /* sttclrl --> ldtclrl.  */
   case 1279: value = 1278; break;     /* sttset --> ldtset.  */
   case 1283: value = 1282; break;     /* sttsetl --> ldtsetl.  */
   case 1315: value = 1314; break;     /* mov --> movn.  */
   case 1317: value = 1316; break;     /* mov --> movz.  */
   case 3373: value = 1398; break;     /* clrbhb --> autibsp.  */
   case 1398: value = 1397; break;     /* autibsp --> autibz.  */
   case 1397: value = 1396; break;     /* autibz --> autiasp.  */
   case 1396: value = 1395; break;     /* autiasp --> autiaz.  */
   case 1395: value = 1394; break;     /* autiaz --> pacibsp.  */
   case 1394: value = 1393; break;     /* pacibsp --> pacibz.  */
   case 1393: value = 1392; break;     /* pacibz --> paciasp.  */
   case 1392: value = 1391; break;     /* paciasp --> paciaz.  */
   case 1391: value = 1370; break;     /* paciaz --> gcsb.  */
   case 1370: value = 1350; break;     /* gcsb --> clearbhb.  */
   case 1350: value = 1349; break;     /* clearbhb --> tsb.  */
   case 1349: value = 1348; break;     /* tsb --> psb.  */
   case 1348: value = 1347; break;     /* psb --> esb.  */
   case 1347: value = 1346; break;     /* esb --> autib1716.  */
   case 1346: value = 1345; break;     /* autib1716 --> autia1716.  */
   case 1345: value = 1344; break;     /* autia1716 --> pacib1716.  */
   case 1344: value = 1343; break;     /* pacib1716 --> pacia1716.  */
   case 1343: value = 1342; break;     /* pacia1716 --> xpaclri.  */
   case 1342: value = 1341; break;     /* xpaclri --> dgh.  */
   case 1341: value = 1340; break;     /* dgh --> sevl.  */
   case 1340: value = 1339; break;     /* sevl --> sev.  */
   case 1339: value = 1338; break;     /* sev --> wfi.  */
   case 1338: value = 1337; break;     /* wfi --> wfe.  */
   case 1337: value = 1336; break;     /* wfe --> yield.  */
   case 1336: value = 1335; break;     /* yield --> bti.  */
   case 1335: value = 1334; break;     /* bti --> csdb.  */
   case 1334: value = 1333; break;     /* csdb --> nop.  */
   case 1333: value = 1330; break;     /* nop --> stshh.  */
   case 1330: value = 1332; break;     /* stshh --> hint.  */
   case 1356: value = 1355; break;     /* pssbb --> ssbb.  */
   case 1355: value = 1354; break;     /* ssbb --> dfb.  */
   case 1354: value = 1352; break;     /* dfb --> dsb.  */
   case 3374: value = 1384; break;     /* trcit --> brb.  */
   case 1384: value = 1383; break;     /* brb --> cosp.  */
   case 1383: value = 1382; break;     /* cosp --> cpp.  */
   case 1382: value = 1381; break;     /* cpp --> dvp.  */
   case 1381: value = 1380; break;     /* dvp --> cfp.  */
   case 1380: value = 1376; break;     /* cfp --> tlbi.  */
   case 1376: value = 1375; break;     /* tlbi --> ic.  */
   case 1375: value = 1374; break;     /* ic --> dc.  */
   case 1374: value = 1373; break;     /* dc --> at.  */
   case 1373: value = 1371; break;     /* at --> sys.  */
   case 1377: value = 1372; break;     /* tlbip --> sysp.  */
   case 2184: value = 1447; break;     /* bic --> and.  */
   case 1430: value = 1449; break;     /* mov --> and.  */
   case 1434: value = 1450; break;     /* movs --> ands.  */
   case 2185: value = 1485; break;     /* cmple --> cmpge.  */
   case 2188: value = 1488; break;     /* cmplt --> cmpgt.  */
   case 2186: value = 1490; break;     /* cmplo --> cmphi.  */
   case 2187: value = 1493; break;     /* cmpls --> cmphs.  */
   case 1427: value = 1515; break;     /* mov --> cpy.  */
   case 1429: value = 1516; break;     /* mov --> cpy.  */
   case 2195: value = 1432; break;     /* fmov --> mov.  */
   case 1432: value = 1517; break;     /* mov --> cpy.  */
   case 1421: value = 1529; break;     /* mov --> dup.  */
   case 1424: value = 1420; break;     /* mov --> mov.  */
   case 1420: value = 1530; break;     /* mov --> dup.  */
   case 2194: value = 1426; break;     /* fmov --> mov.  */
   case 1426: value = 1531; break;     /* mov --> dup.  */
   case 1425: value = 1532; break;     /* mov --> dupm.  */
   case 2189: value = 1534; break;     /* eon --> eor.  */
   case 1435: value = 1536; break;     /* not --> eor.  */
   case 1436: value = 1537; break;     /* nots --> eors.  */
   case 2190: value = 1542; break;     /* facle --> facge.  */
   case 2191: value = 1543; break;     /* faclt --> facgt.  */
   case 2192: value = 1556; break;     /* fcmle --> fcmge.  */
   case 2193: value = 1558; break;     /* fcmlt --> fcmgt.  */
   case 1418: value = 1564; break;     /* fmov --> fcpy.  */
   case 1417: value = 1587; break;     /* fmov --> fdup.  */
   case 1873: value = 1872; break;     /* ldr --> ldr.  */
   case 1419: value = 1903; break;     /* mov --> orr.  */
   case 2196: value = 1904; break;     /* orn --> orr.  */
   case 1423: value = 1422; break;     /* mov --> mov.  */
   case 1422: value = 1906; break;     /* mov --> orr.  */
   case 1433: value = 1907; break;     /* movs --> orrs.  */
   case 1910: value = 1909; break;     /* pfalse --> pfalse.  */
   case 1428: value = 1970; break;     /* mov --> sel.  */
   case 1431: value = 1971; break;     /* mov --> sel.  */
   case 2092: value = 2091; break;     /* str --> str.  */
   case 2529: value = 2531; break;     /* mov --> mova.  */
   case 2530: value = 2532; break;     /* mov --> mova.  */
   case 2550: value = 2549; break;     /* psel --> psel.  */
   case 2755: value = 2763; break;     /* mov --> mova.  */
   case 2756: value = 2764; break;     /* mov --> mova.  */
   case 2757: value = 2765; break;     /* mov --> mova.  */
   case 2758: value = 2766; break;     /* mov --> mova.  */
   case 2759: value = 2767; break;     /* mov --> mova.  */
   case 2760: value = 2768; break;     /* mov --> mova.  */
   case 2761: value = 2769; break;     /* mov --> mova.  */
   case 2762: value = 2770; break;     /* mov --> mova.  */
   default: return NULL;
   }

 return aarch64_opcode_table + value;
}

bool
aarch64_extract_operand (const aarch64_operand *self,
                          aarch64_opnd_info *info,
                          aarch64_insn code, const aarch64_inst *inst,
                          aarch64_operand_error *errors)
{
 /* Use the index as the key.  */
 int key = self - aarch64_operands;
 switch (key)
   {
   case 1:
   case 2:
   case 3:
   case 4:
   case 5:
   case 7:
   case 8:
   case 9:
   case 10:
   case 12:
   case 13:
   case 14:
   case 20:
   case 21:
   case 22:
   case 23:
   case 25:
   case 26:
   case 27:
   case 28:
   case 29:
   case 30:
   case 31:
   case 32:
   case 33:
   case 34:
   case 127:
   case 128:
   case 129:
   case 192:
   case 193:
   case 194:
   case 195:
   case 196:
   case 197:
   case 198:
   case 199:
   case 200:
   case 201:
   case 202:
   case 203:
   case 204:
   case 205:
   case 221:
   case 222:
   case 223:
   case 224:
   case 234:
   case 235:
   case 236:
   case 237:
   case 238:
   case 249:
   case 253:
   case 257:
   case 258:
   case 266:
   case 267:
   case 268:
   case 275:
   case 276:
   case 277:
   case 278:
   case 313:
   case 317:
     return aarch64_ext_regno (self, info, code, inst, errors);
   case 6:
   case 122:
   case 123:
   case 323:
   case 326:
     return aarch64_ext_none (self, info, code, inst, errors);
   case 11:
     return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
   case 15:
   case 16:
     return aarch64_ext_regno_pair (self, info, code, inst, errors);
   case 17:
     return aarch64_ext_reg_extended (self, info, code, inst, errors);
   case 18:
     return aarch64_ext_reg_shifted (self, info, code, inst, errors);
   case 19:
     return aarch64_ext_reg_lsl_shifted (self, info, code, inst, errors);
   case 24:
     return aarch64_ext_ft (self, info, code, inst, errors);
   case 35:
   case 36:
   case 37:
   case 38:
   case 39:
   case 328:
     return aarch64_ext_reglane (self, info, code, inst, errors);
   case 40:
   case 41:
   case 42:
   case 239:
   case 240:
   case 243:
   case 279:
   case 280:
   case 295:
   case 296:
   case 297:
   case 298:
   case 299:
   case 300:
   case 301:
   case 302:
   case 303:
   case 304:
   case 305:
   case 306:
   case 307:
   case 308:
   case 309:
   case 310:
   case 311:
   case 312:
   case 314:
   case 315:
   case 316:
   case 318:
   case 319:
   case 320:
     return aarch64_ext_simple_index (self, info, code, inst, errors);
   case 43:
     return aarch64_ext_reglist (self, info, code, inst, errors);
   case 44:
     return aarch64_ext_ldst_reglist (self, info, code, inst, errors);
   case 45:
     return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors);
   case 46:
     return aarch64_ext_lut_reglist (self, info, code, inst, errors);
   case 47:
     return aarch64_ext_ldst_elemlist (self, info, code, inst, errors);
   case 48:
   case 49:
   case 50:
   case 51:
   case 61:
   case 62:
   case 63:
   case 64:
   case 65:
   case 66:
   case 67:
   case 68:
   case 69:
   case 70:
   case 71:
   case 72:
   case 73:
   case 74:
   case 75:
   case 76:
   case 77:
   case 78:
   case 79:
   case 90:
   case 91:
   case 92:
   case 93:
   case 94:
   case 95:
   case 121:
   case 126:
   case 189:
   case 191:
   case 212:
   case 213:
   case 214:
   case 215:
   case 216:
   case 217:
   case 218:
   case 219:
   case 220:
   case 281:
   case 321:
   case 322:
   case 324:
   case 325:
   case 327:
   case 332:
   case 333:
     return aarch64_ext_imm (self, info, code, inst, errors);
   case 52:
   case 53:
     return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors);
   case 54:
   case 55:
   case 56:
     return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors);
   case 57:
     return aarch64_ext_shll_imm (self, info, code, inst, errors);
   case 60:
   case 179:
     return aarch64_ext_fpimm (self, info, code, inst, errors);
   case 80:
   case 187:
     return aarch64_ext_limm (self, info, code, inst, errors);
   case 81:
     return aarch64_ext_aimm (self, info, code, inst, errors);
   case 82:
     return aarch64_ext_imm_half (self, info, code, inst, errors);
   case 83:
     return aarch64_ext_fbits (self, info, code, inst, errors);
   case 85:
   case 86:
   case 184:
     return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
   case 87:
   case 183:
   case 185:
     return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
   case 88:
   case 89:
     return aarch64_ext_cond (self, info, code, inst, errors);
   case 96:
   case 105:
     return aarch64_ext_addr_simple (self, info, code, inst, errors);
   case 97:
     return aarch64_ext_addr_regoff (self, info, code, inst, errors);
   case 98:
   case 99:
   case 100:
   case 102:
   case 104:
     return aarch64_ext_addr_simm (self, info, code, inst, errors);
   case 101:
     return aarch64_ext_addr_simm10 (self, info, code, inst, errors);
   case 103:
     return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
   case 106:
     return aarch64_ext_addr_offset (self, info, code, inst, errors);
   case 107:
     return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
   case 108:
   case 109:
     return aarch64_ext_sysreg (self, info, code, inst, errors);
   case 110:
     return aarch64_ext_pstatefield (self, info, code, inst, errors);
   case 111:
   case 112:
   case 113:
   case 114:
   case 115:
   case 116:
     return aarch64_ext_sysins_op (self, info, code, inst, errors);
   case 117:
   case 119:
     return aarch64_ext_barrier (self, info, code, inst, errors);
   case 118:
     return aarch64_ext_barrier_dsb_nxs (self, info, code, inst, errors);
   case 120:
     return aarch64_ext_prfop (self, info, code, inst, errors);
   case 124:
   case 125:
     return aarch64_ext_hint (self, info, code, inst, errors);
   case 130:
   case 131:
     return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
   case 132:
   case 133:
   case 134:
   case 135:
     return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
   case 136:
     return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
   case 137:
     return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
   case 138:
   case 139:
   case 140:
   case 141:
     return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
   case 142:
   case 143:
   case 144:
   case 145:
   case 146:
   case 147:
   case 148:
   case 149:
   case 150:
   case 151:
   case 152:
   case 153:
   case 154:
   case 155:
   case 156:
   case 157:
   case 158:
   case 159:
   case 160:
   case 161:
     return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
   case 162:
   case 163:
   case 164:
   case 165:
   case 166:
   case 167:
   case 168:
   case 169:
     return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
   case 170:
   case 171:
   case 172:
   case 173:
     return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
   case 174:
     return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
   case 175:
     return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
   case 176:
     return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
   case 177:
     return aarch64_ext_sve_aimm (self, info, code, inst, errors);
   case 178:
     return aarch64_ext_sve_asimm (self, info, code, inst, errors);
   case 180:
     return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
   case 181:
     return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
   case 182:
     return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors);
   case 186:
     return aarch64_ext_inv_limm (self, info, code, inst, errors);
   case 188:
     return aarch64_ext_sve_limm_mov (self, info, code, inst, errors);
   case 190:
     return aarch64_ext_sve_scale (self, info, code, inst, errors);
   case 206:
   case 207:
   case 208:
     return aarch64_ext_sve_shlimm (self, info, code, inst, errors);
   case 209:
   case 210:
   case 211:
   case 294:
     return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
   case 225:
   case 226:
   case 227:
   case 228:
     return aarch64_ext_sme_za_vrs1 (self, info, code, inst, errors);
   case 229:
   case 230:
   case 231:
   case 232:
     return aarch64_ext_sme_za_vrs2 (self, info, code, inst, errors);
   case 233:
     return aarch64_ext_sme_za_tile_to_vec (self, info, code, inst, errors);
   case 241:
   case 242:
   case 244:
   case 245:
   case 246:
   case 247:
   case 248:
     return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
   case 250:
   case 251:
     return aarch64_ext_sve_index (self, info, code, inst, errors);
   case 252:
   case 254:
   case 274:
     return aarch64_ext_sve_reglist (self, info, code, inst, errors);
   case 255:
   case 256:
   case 259:
   case 260:
   case 261:
   case 262:
   case 263:
   case 273:
     return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors);
   case 264:
   case 265:
     return aarch64_ext_sve_strided_reglist (self, info, code, inst, errors);
   case 269:
   case 271:
   case 282:
     return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors);
   case 270:
   case 272:
     return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors);
   case 283:
   case 284:
   case 285:
   case 286:
   case 287:
   case 288:
   case 289:
     return aarch64_ext_sme_za_array (self, info, code, inst, errors);
   case 290:
     return aarch64_ext_sme_addr_ri_u4xvl (self, info, code, inst, errors);
   case 291:
     return aarch64_ext_sme_sm_za (self, info, code, inst, errors);
   case 292:
     return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors);
   case 293:
     return aarch64_ext_plain_shrimm (self, info, code, inst, errors);
   case 329:
   case 330:
   case 331:
     return aarch64_ext_x0_to_x30 (self, info, code, inst, errors);
   case 334:
   case 335:
   case 336:
   case 337:
     return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors);
   case 338:
     return aarch64_ext_rcpc3_addr_offset (self, info, code, inst, errors);
   default: assert (0); abort ();
   }
}