/* This file is automatically generated by aarch64-gen.  Do not edit!  */
/* Copyright (C) 2012-2017 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 >> 31) & 0x1) == 0)
                    {
                      /* 33222222222211111111110000000000
                         10987654321098765432109876543210
                         xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
                         adr.  */
                      return 1155;
                    }
                  else
                    {
                      /* 33222222222211111111110000000000
                         10987654321098765432109876543210
                         xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
                         adrp.  */
                      return 1156;
                    }
                }
              else
                {
                  if (((word >> 29) & 0x1) == 0)
                    {
                      if (((word >> 30) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx1000x00x
                             add.  */
                          return 12;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx1000x01x
                             sub.  */
                          return 16;
                        }
                    }
                  else
                    {
                      if (((word >> 30) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx1000x10x
                             adds.  */
                          return 14;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx1000x11x
                             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 >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx000x0010000
                                                 stxrb.  */
                                              return 910;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx000x0010010
                                                 stxrh.  */
                                              return 916;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx000x00100x1
                                             stxr.  */
                                          return 922;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx100x00100x0
                                             casp.  */
                                          return 990;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx100x00100x1
                                             stxp.  */
                                          return 924;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx000x0010000
                                                 stlxrb.  */
                                              return 911;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx000x0010010
                                                 stlxrh.  */
                                              return 917;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx000x00100x1
                                             stlxr.  */
                                          return 923;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx100x00100x0
                                             caspl.  */
                                          return 992;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx100x00100x1
                                             stlxp.  */
                                          return 925;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxx00x00101xx
                                 stnp.  */
                              return 941;
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx001x00100x0
                                             stllrb.  */
                                          return 939;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx001x00100x1
                                             stllr.  */
                                          return 938;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx101x0010000
                                                 casb.  */
                                              return 978;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx101x0010010
                                                 cash.  */
                                              return 979;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx101x00100x1
                                             cas.  */
                                          return 980;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx001x0010000
                                                 stlrb.  */
                                              return 914;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx001x0010010
                                                 stlrh.  */
                                              return 920;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx001x00100x1
                                             stlr.  */
                                          return 930;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx101x0010000
                                                 caslb.  */
                                              return 982;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx101x0010010
                                                 caslh.  */
                                              return 985;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx101x00100x1
                                             casl.  */
                                          return 988;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxx01x00101xx
                                 stp.  */
                              return 950;
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx010x0010000
                                                 ldxrb.  */
                                              return 912;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx010x0010010
                                                 ldxrh.  */
                                              return 918;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx010x00100x1
                                             ldxr.  */
                                          return 926;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx110x00100x0
                                             caspa.  */
                                          return 991;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx110x00100x1
                                             ldxp.  */
                                          return 928;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx010x0010000
                                                 ldaxrb.  */
                                              return 913;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx010x0010010
                                                 ldaxrh.  */
                                              return 919;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx010x00100x1
                                             ldaxr.  */
                                          return 927;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx110x00100x0
                                             caspal.  */
                                          return 993;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx110x00100x1
                                             ldaxp.  */
                                          return 929;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx10x001010x
                                     ldnp.  */
                                  return 942;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx10x001011x
                                     ldpsw.  */
                                  return 949;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx011x0010000
                                                 ldlarb.  */
                                              return 936;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx011x0010010
                                                 ldlarh.  */
                                              return 937;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx011x00100x1
                                             ldlar.  */
                                          return 935;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx111x0010000
                                                 casab.  */
                                              return 981;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx0xxxxx111x0010010
                                                 casah.  */
                                              return 984;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxxx111x00100x1
                                             casa.  */
                                          return 987;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx011x0010000
                                                 ldarb.  */
                                              return 915;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx011x0010010
                                                 ldarh.  */
                                              return 921;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx011x00100x1
                                             ldar.  */
                                          return 931;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx111x0010000
                                                 casalb.  */
                                              return 983;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxx1xxxxx111x0010010
                                                 casalh.  */
                                              return 986;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxxx111x00100x1
                                             casal.  */
                                          return 989;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx11x001010x
                                     ldp.  */
                                  return 951;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx11x001011x
                                     ldpsw.  */
                                  return 954;
                                }
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 24) & 0x1) == 0)
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 31) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxxx000110x0
                                 ldr.  */
                              return 955;
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxxxx00011001
                                     ldrsw.  */
                                  return 957;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxxxx00011011
                                     prfm.  */
                                  return 958;
                                }
                            }
                        }
                      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
                                                         xxxxxxxxxx00xxxxxxxxx00000011100
                                                         sturb.  */
                                                      return 896;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00xxxxxxxxx00000011110
                                                         sturh.  */
                                                      return 901;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx000000111x1
                                                     stur.  */
                                                  return 904;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00xxxxxxxxx01000011100
                                                         ldurb.  */
                                                      return 897;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00xxxxxxxxx01000011110
                                                         ldurh.  */
                                                      return 902;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx010000111x1
                                                     ldur.  */
                                                  return 905;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0x100011100
                                                     ldursb.  */
                                                  return 898;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0x100011101
                                                     ldursw.  */
                                                  return 906;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0x100011110
                                                     ldursh.  */
                                                  return 903;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0x100011111
                                                     prfum.  */
                                                  return 907;
                                                }
                                            }
                                        }
                                    }
                                  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
                                                                         xxxxxxxxxx000000xxxxx10000011100
                                                                         ldaddb.  */
                                                                      return 1006;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000xxxxx10000011110
                                                                         ldaddh.  */
                                                                      return 1007;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000000xxxxx100000111x1
                                                                     ldadd.  */
                                                                  return 1008;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000xxxxx10100011100
                                                                         ldaddab.  */
                                                                      return 1009;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000xxxxx10100011110
                                                                         ldaddah.  */
                                                                      return 1012;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000000xxxxx101000111x1
                                                                     ldadda.  */
                                                                  return 1015;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000xxxxx11000011100
                                                                         ldaddlb.  */
                                                                      return 1010;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000xxxxx11000011110
                                                                         ldaddlh.  */
                                                                      return 1013;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000000xxxxx110000111x1
                                                                     ldaddl.  */
                                                                  return 1016;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000xxxxx11100011100
                                                                         ldaddalb.  */
                                                                      return 1011;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000xxxxx11100011110
                                                                         ldaddalh.  */
                                                                      return 1014;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000000xxxxx111000111x1
                                                                     ldaddal.  */
                                                                  return 1017;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx10000011100
                                                                         swpb.  */
                                                                      return 994;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx10000011110
                                                                         swph.  */
                                                                      return 995;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000001xxxxx100000111x1
                                                                     swp.  */
                                                                  return 996;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx10100011100
                                                                         swpab.  */
                                                                      return 997;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx10100011110
                                                                         swpah.  */
                                                                      return 1000;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000001xxxxx101000111x1
                                                                     swpa.  */
                                                                  return 1003;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx11000011100
                                                                         swplb.  */
                                                                      return 998;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx11000011110
                                                                         swplh.  */
                                                                      return 1001;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000001xxxxx110000111x1
                                                                     swpl.  */
                                                                  return 1004;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx11100011100
                                                                         swpalb.  */
                                                                      return 999;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000001xxxxx11100011110
                                                                         swpalh.  */
                                                                      return 1002;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000001xxxxx111000111x1
                                                                     swpal.  */
                                                                  return 1005;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              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
                                                                         xxxxxxxxxx000010xxxxx10000011100
                                                                         ldsmaxb.  */
                                                                      return 1054;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000010xxxxx10000011110
                                                                         ldsmaxh.  */
                                                                      return 1055;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000010xxxxx100000111x1
                                                                     ldsmax.  */
                                                                  return 1056;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000010xxxxx10100011100
                                                                         ldsmaxab.  */
                                                                      return 1057;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000010xxxxx10100011110
                                                                         ldsmaxah.  */
                                                                      return 1060;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000010xxxxx101000111x1
                                                                     ldsmaxa.  */
                                                                  return 1063;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000010xxxxx11000011100
                                                                         ldsmaxlb.  */
                                                                      return 1058;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000010xxxxx11000011110
                                                                         ldsmaxlh.  */
                                                                      return 1061;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000010xxxxx110000111x1
                                                                     ldsmaxl.  */
                                                                  return 1064;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 31) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 30) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000010xxxxx11100011100
                                                                         ldsmaxalb.  */
                                                                      return 1059;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000010xxxxx11100011110
                                                                         ldsmaxalh.  */
                                                                      return 1062;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx000010xxxxx111000111x1
                                                                     ldsmaxal.  */
                                                                  return 1065;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 31) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000011xxxxx1xx00011100
                                                                 ldaprb.  */
                                                              return 932;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000011xxxxx1xx00011110
                                                                 ldaprh.  */
                                                              return 933;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000011xxxxx1xx000111x1
                                                             ldapr.  */
                                                          return 934;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx10000011100
                                                                     ldeorb.  */
                                                                  return 1030;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx10000011110
                                                                     ldeorh.  */
                                                                  return 1031;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00010xxxxxx100000111x1
                                                                 ldeor.  */
                                                              return 1032;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx10100011100
                                                                     ldeorab.  */
                                                                  return 1033;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx10100011110
                                                                     ldeorah.  */
                                                                  return 1036;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00010xxxxxx101000111x1
                                                                 ldeora.  */
                                                              return 1039;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx11000011100
                                                                     ldeorlb.  */
                                                                  return 1034;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx11000011110
                                                                     ldeorlh.  */
                                                                  return 1037;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00010xxxxxx110000111x1
                                                                 ldeorl.  */
                                                              return 1040;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx11100011100
                                                                     ldeoralb.  */
                                                                  return 1035;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00010xxxxxx11100011110
                                                                     ldeoralh.  */
                                                                  return 1038;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00010xxxxxx111000111x1
                                                                 ldeoral.  */
                                                              return 1041;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx10000011100
                                                                     ldumaxb.  */
                                                                  return 1078;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx10000011110
                                                                     ldumaxh.  */
                                                                  return 1079;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00011xxxxxx100000111x1
                                                                 ldumax.  */
                                                              return 1080;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx10100011100
                                                                     ldumaxab.  */
                                                                  return 1081;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx10100011110
                                                                     ldumaxah.  */
                                                                  return 1084;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00011xxxxxx101000111x1
                                                                 ldumaxa.  */
                                                              return 1087;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx11000011100
                                                                     ldumaxlb.  */
                                                                  return 1082;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx11000011110
                                                                     ldumaxlh.  */
                                                                  return 1085;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00011xxxxxx110000111x1
                                                                 ldumaxl.  */
                                                              return 1088;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx11100011100
                                                                     ldumaxalb.  */
                                                                  return 1083;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00011xxxxxx11100011110
                                                                     ldumaxalh.  */
                                                                  return 1086;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00011xxxxxx111000111x1
                                                                 ldumaxal.  */
                                                              return 1089;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx10000011100
                                                                     ldclrb.  */
                                                                  return 1018;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx10000011110
                                                                     ldclrh.  */
                                                                  return 1019;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00100xxxxxx100000111x1
                                                                 ldclr.  */
                                                              return 1020;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx10100011100
                                                                     ldclrab.  */
                                                                  return 1021;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx10100011110
                                                                     ldclrah.  */
                                                                  return 1024;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00100xxxxxx101000111x1
                                                                 ldclra.  */
                                                              return 1027;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx11000011100
                                                                     ldclrlb.  */
                                                                  return 1022;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx11000011110
                                                                     ldclrlh.  */
                                                                  return 1025;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00100xxxxxx110000111x1
                                                                 ldclrl.  */
                                                              return 1028;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx11100011100
                                                                     ldclralb.  */
                                                                  return 1023;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00100xxxxxx11100011110
                                                                     ldclralh.  */
                                                                  return 1026;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00100xxxxxx111000111x1
                                                                 ldclral.  */
                                                              return 1029;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx10000011100
                                                                     ldsminb.  */
                                                                  return 1066;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx10000011110
                                                                     ldsminh.  */
                                                                  return 1067;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00101xxxxxx100000111x1
                                                                 ldsmin.  */
                                                              return 1068;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx10100011100
                                                                     ldsminab.  */
                                                                  return 1069;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx10100011110
                                                                     ldsminah.  */
                                                                  return 1072;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00101xxxxxx101000111x1
                                                                 ldsmina.  */
                                                              return 1075;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx11000011100
                                                                     ldsminlb.  */
                                                                  return 1070;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx11000011110
                                                                     ldsminlh.  */
                                                                  return 1073;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00101xxxxxx110000111x1
                                                                 ldsminl.  */
                                                              return 1076;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx11100011100
                                                                     ldsminalb.  */
                                                                  return 1071;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00101xxxxxx11100011110
                                                                     ldsminalh.  */
                                                                  return 1074;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00101xxxxxx111000111x1
                                                                 ldsminal.  */
                                                              return 1077;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx10000011100
                                                                     ldsetb.  */
                                                                  return 1042;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx10000011110
                                                                     ldseth.  */
                                                                  return 1043;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00110xxxxxx100000111x1
                                                                 ldset.  */
                                                              return 1044;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx10100011100
                                                                     ldsetab.  */
                                                                  return 1045;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx10100011110
                                                                     ldsetah.  */
                                                                  return 1048;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00110xxxxxx101000111x1
                                                                 ldseta.  */
                                                              return 1051;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx11000011100
                                                                     ldsetlb.  */
                                                                  return 1046;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx11000011110
                                                                     ldsetlh.  */
                                                                  return 1049;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00110xxxxxx110000111x1
                                                                 ldsetl.  */
                                                              return 1052;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx11100011100
                                                                     ldsetalb.  */
                                                                  return 1047;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00110xxxxxx11100011110
                                                                     ldsetalh.  */
                                                                  return 1050;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00110xxxxxx111000111x1
                                                                 ldsetal.  */
                                                              return 1053;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx10000011100
                                                                     lduminb.  */
                                                                  return 1090;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx10000011110
                                                                     lduminh.  */
                                                                  return 1091;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00111xxxxxx100000111x1
                                                                 ldumin.  */
                                                              return 1092;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx10100011100
                                                                     lduminab.  */
                                                                  return 1093;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx10100011110
                                                                     lduminah.  */
                                                                  return 1096;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00111xxxxxx101000111x1
                                                                 ldumina.  */
                                                              return 1099;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx11000011100
                                                                     lduminlb.  */
                                                                  return 1094;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx11000011110
                                                                     lduminlh.  */
                                                                  return 1097;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00111xxxxxx110000111x1
                                                                 lduminl.  */
                                                              return 1100;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              if (((word >> 30) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx11100011100
                                                                     lduminalb.  */
                                                                  return 1095;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00111xxxxxx11100011110
                                                                     lduminalh.  */
                                                                  return 1098;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00111xxxxxx111000111x1
                                                                 lduminal.  */
                                                              return 1101;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              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
                                                         xxxxxxxxxx01xxxxxxxxx00000011100
                                                         sttrb.  */
                                                      return 887;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01xxxxxxxxx00000011110
                                                         sttrh.  */
                                                      return 890;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx000000111x1
                                                     sttr.  */
                                                  return 893;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01xxxxxxxxx01000011100
                                                         ldtrb.  */
                                                      return 888;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01xxxxxxxxx01000011110
                                                         ldtrh.  */
                                                      return 891;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx010000111x1
                                                     ldtr.  */
                                                  return 894;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx0x100011100
                                                     ldtrsb.  */
                                                  return 889;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx0x100011101
                                                     ldtrsw.  */
                                                  return 895;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx01xxxxxxxxx0x10001111x
                                                 ldtrsh.  */
                                              return 892;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01xxxxxxxxx10000011100
                                                         strb.  */
                                                      return 875;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01xxxxxxxxx10000011110
                                                         strh.  */
                                                      return 880;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx100000111x1
                                                     str.  */
                                                  return 883;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01xxxxxxxxx11000011100
                                                         ldrb.  */
                                                      return 876;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01xxxxxxxxx11000011110
                                                         ldrh.  */
                                                      return 881;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx110000111x1
                                                     ldr.  */
                                                  return 884;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx1x100011100
                                                     ldrsb.  */
                                                  return 877;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx1x100011101
                                                     ldrsw.  */
                                                  return 885;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx1x100011110
                                                     ldrsh.  */
                                                  return 882;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01xxxxxxxxx1x100011111
                                                     prfm.  */
                                                  return 886;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          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
                                                     xxxxxxxxxx1xxxxxxxxxx00000011100
                                                     strb.  */
                                                  return 852;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1xxxxxxxxxx00000011110
                                                     strh.  */
                                                  return 857;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1xxxxxxxxxx000000111x1
                                                 str.  */
                                              return 860;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1xxxxxxxxxx01000011100
                                                     ldrb.  */
                                                  return 853;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1xxxxxxxxxx01000011110
                                                     ldrh.  */
                                                  return 858;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1xxxxxxxxxx010000111x1
                                                 ldr.  */
                                              return 861;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1xxxxxxxxxx0x100011100
                                                 ldrsb.  */
                                              return 854;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1xxxxxxxxxx0x100011101
                                                 ldrsw.  */
                                              return 862;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx1xxxxxxxxxx0x10001111x
                                             ldrsh.  */
                                          return 859;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1xxxxxxxxxx1x0000111xx
                                         ldraa.  */
                                      return 908;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1xxxxxxxxxx1x1000111xx
                                         ldrab.  */
                                      return 909;
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 22) & 0x1) == 0)
                            {
                              if (((word >> 31) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxxx0010011x00
                                         strb.  */
                                      return 863;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxxx0010011x10
                                         strh.  */
                                      return 868;
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx0010011xx1
                                     str.  */
                                  return 871;
                                }
                            }
                          else
                            {
                              if (((word >> 31) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxxx1010011x00
                                         ldrb.  */
                                      return 864;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxxx1010011x10
                                         ldrh.  */
                                      return 869;
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx1010011xx1
                                     ldr.  */
                                  return 872;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              if (((word >> 31) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxxx110011x00
                                     ldrsb.  */
                                  return 865;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxxx110011x01
                                     ldrsw.  */
                                  return 873;
                                }
                            }
                          else
                            {
                              if (((word >> 31) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxxx110011x10
                                     ldrsh.  */
                                  return 870;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxxx110011x11
                                     prfm.  */
                                  return 874;
                                }
                            }
                        }
                    }
                }
            }
        }
      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
                                 xxxxxxxxxxxxxxxxxxxxxxx00100x00x
                                 and.  */
                              return 959;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxx00100x01x
                                 eor.  */
                              return 963;
                            }
                        }
                      else
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxx00100x10x
                                 orr.  */
                              return 961;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxx00100x11x
                                 ands.  */
                              return 964;
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxx10100x00x
                                 movn.  */
                              return 1150;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxx10100x01x
                                 movz.  */
                              return 1152;
                            }
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
                             movk.  */
                          return 1154;
                        }
                    }
                }
              else
                {
                  if (((word >> 21) & 0x1) == 0)
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx0101000x
                                     and.  */
                                  return 966;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx0101001x
                                     eor.  */
                                  return 973;
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx0101010x
                                     orr.  */
                                  return 968;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx0101011x
                                     ands.  */
                                  return 975;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0000101100x
                                                     adc.  */
                                                  return 0;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0000101101x
                                                     sbc.  */
                                                  return 2;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0000101110x
                                                     adcs.  */
                                                  return 1;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00xxxxxxxxx0000101111x
                                                     sbcs.  */
                                                  return 4;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx00xxxxxxxxx00101011x0x
                                                 csel.  */
                                              return 656;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx00xxxxxxxxx00101011x1x
                                                 csinv.  */
                                              return 660;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx00xxxxxxxxx01001011x0x
                                                 ccmn.  */
                                              return 654;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx00xxxxxxxxx01001011x1x
                                                 ccmp.  */
                                              return 655;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx00000x0xxxx01101011xxx
                                                             rbit.  */
                                                          return 679;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx00000x1xxxx01101011xxx
                                                             pacia.  */
                                                          return 687;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx00001xxxxxx01101011x0x
                                                             crc32b.  */
                                                          return 716;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx00001xxxxxx01101011x1x
                                                             xpaci.  */
                                                          return 703;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0001xxxxxxx01101011x0x
                                                         lslv.  */
                                                      return 707;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0001xxxxxxx01101011x1x
                                                         paciza.  */
                                                      return 695;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx00100x0xxxx01101011xxx
                                                             clz.  */
                                                          return 684;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx00100x1xxxx01101011xxx
                                                             autia.  */
                                                          return 691;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00101xxxxxx01101011xxx
                                                         crc32cb.  */
                                                      return 720;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0011xxxxxxx01101011x0x
                                                         pacga.  */
                                                      return 715;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0011xxxxxxx01101011x1x
                                                         autiza.  */
                                                      return 699;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx01xxxxxxxxx0x001011x0x
                                             ccmn.  */
                                          return 652;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx01xxxxxxxxx0x001011x1x
                                             ccmp.  */
                                          return 653;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01000xxxxxx0x101011x0x
                                                         udiv.  */
                                                      return 705;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 31) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx01000x0xxxx0x101011x10
                                                                 rev.  */
                                                              return 681;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx01000x0xxxx0x101011x11
                                                                 rev32.  */
                                                              return 686;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx01000x1xxxx0x101011x1x
                                                             pacda.  */
                                                          return 689;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01001xxxxxx0x101011xxx
                                                     crc32w.  */
                                                  return 718;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0101xxxxxxx0x101011x0x
                                                     asrv.  */
                                                  return 711;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0101xxxxxxx0x101011x1x
                                                     pacdza.  */
                                                  return 697;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01100xxxxxx0x101011xxx
                                                     autda.  */
                                                  return 693;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01101xxxxxx0x101011xxx
                                                     crc32cw.  */
                                                  return 722;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0111xxxxxxx0x101011xxx
                                                 autdza.  */
                                              return 701;
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx10xxxxxxxxx00x01011x0x
                                             csinc.  */
                                          return 657;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx10xxxxxxxxx00x01011x1x
                                             csneg.  */
                                          return 663;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10000x0xxxx01x01011xxx
                                                         rev16.  */
                                                      return 680;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10000x1xxxx01x01011xxx
                                                         pacib.  */
                                                      return 688;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10001xxxxxx01x01011x0x
                                                         crc32h.  */
                                                      return 717;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10001xxxxxx01x01011x1x
                                                         xpacd.  */
                                                      return 704;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1001xxxxxxx01x01011x0x
                                                     lsrv.  */
                                                  return 709;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1001xxxxxxx01x01011x1x
                                                     pacizb.  */
                                                  return 696;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10100x0xxxx01x01011xxx
                                                         cls.  */
                                                      return 685;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10100x1xxxx01x01011xxx
                                                         autib.  */
                                                      return 692;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx10101xxxxxx01x01011xxx
                                                     crc32ch.  */
                                                  return 721;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1011xxxxxxx01x01011xxx
                                                 autizb.  */
                                              return 700;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx11000xxxxxx0xx01011x0x
                                                     sdiv.  */
                                                  return 706;
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11000x0xxxx0xx01011x1x
                                                         rev.  */
                                                      return 682;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11000x1xxxx0xx01011x1x
                                                         pacdb.  */
                                                      return 690;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx11001xxxxxx0xx01011xxx
                                                 crc32x.  */
                                              return 719;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1101xxxxxxx0xx01011x0x
                                                 rorv.  */
                                              return 713;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1101xxxxxxx0xx01011x1x
                                                 pacdzb.  */
                                              return 698;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx11100xxxxxx0xx01011xxx
                                                 autdb.  */
                                              return 694;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx11101xxxxxx0xx01011xxx
                                                 crc32cx.  */
                                              return 723;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx1111xxxxxxx0xx01011xxx
                                             autdzb.  */
                                          return 702;
                                        }
                                    }
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
                                 bic.  */
                              return 967;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
                                 eon.  */
                              return 974;
                            }
                        }
                      else
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
                                 orn.  */
                              return 971;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
                                 bics.  */
                              return 977;
                            }
                        }
                    }
                }
            }
          else
            {
              if (((word >> 27) & 0x1) == 0)
                {
                  if (((word >> 23) & 0x1) == 0)
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          if (((word >> 30) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxx01100x00x
                                 sbfm.  */
                              return 612;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxxx01100x01x
                                 ubfm.  */
                              return 623;
                            }
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
                             bfm.  */
                          return 619;
                        }
                    }
                  else
                    {
                      /* 33222222222211111111110000000000
                         10987654321098765432109876543210
                         xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
                         extr.  */
                      return 746;
                    }
                }
              else
                {
                  if (((word >> 21) & 0x1) == 0)
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx1101000x
                                     add.  */
                                  return 19;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx1101001x
                                     sub.  */
                                  return 22;
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx1101010x
                                     adds.  */
                                  return 20;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx1101011x
                                     subs.  */
                                  return 24;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 15) & 0x1) == 0)
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxx0xxxxx00x11011xxx
                                     madd.  */
                                  return 724;
                                }
                              else
                                {
                                  if (((word >> 23) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxx0xxxxx01011011xxx
                                         smulh.  */
                                      return 732;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxx0xxxxx01111011xxx
                                         umulh.  */
                                      return 737;
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
                                 msub.  */
                              return 726;
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 28) & 0x1) == 0)
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxx1x01101000x
                                         add.  */
                                      return 6;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxx1x01101001x
                                         sub.  */
                                      return 9;
                                    }
                                }
                              else
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxx1x01101010x
                                         adds.  */
                                      return 7;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxx1x01101011x
                                         subs.  */
                                      return 10;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxx0xxxxx1x011011xxx
                                     smaddl.  */
                                  return 728;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxx1xxxxx1x011011xxx
                                     smsubl.  */
                                  return 730;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 15) & 0x1) == 0)
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
                                 umaddl.  */
                              return 733;
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
                                 umsubl.  */
                              return 735;
                            }
                        }
                    }
                }
            }
        }
    }
  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
                                                                     xxxxxxxxxxxxx000000000xx0x100000
                                                                     add.  */
                                                                  return 1232;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000000010xx0x100000
                                                                     mul.  */
                                                                  return 1685;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000000100xx0x100000
                                                                     smax.  */
                                                                  return 1764;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000000110xx0x100000
                                                                     orr.  */
                                                                  return 1696;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0000010x0xx0x100000
                                                                 sdiv.  */
                                                              return 1755;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0000011x0xx0x100000
                                                                 sabd.  */
                                                              return 1746;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0000100x0xx0x100000
                                                                 smulh.  */
                                                              return 1769;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000010100xx0x100000
                                                                     smin.  */
                                                                  return 1767;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000010110xx0x100000
                                                                     and.  */
                                                                  return 1240;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx000011xx0xx0x100000
                                                             sdivr.  */
                                                          return 1756;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0001000x0xx0x100000
                                                                 sub.  */
                                                              return 1885;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000100100xx0x100000
                                                                     umax.  */
                                                                  return 1913;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000100110xx0x100000
                                                                     eor.  */
                                                                  return 1327;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0001010x0xx0x100000
                                                                 udiv.  */
                                                              return 1907;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0001011x0xx0x100000
                                                                 uabd.  */
                                                              return 1898;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000110000xx0x100000
                                                                     subr.  */
                                                                  return 1887;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000110010xx0x100000
                                                                     umulh.  */
                                                                  return 1918;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000110100xx0x100000
                                                                     umin.  */
                                                                  return 1916;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx000110110xx0x100000
                                                                     bic.  */
                                                                  return 1252;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx000111xx0xx0x100000
                                                             udivr.  */
                                                          return 1908;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx0x00x100001
                                                     ld1sb.  */
                                                  return 1514;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx0x10x100001
                                                     ld1sh.  */
                                                  return 1525;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx000xxxxx0x00x10001x
                                                 ld1sb.  */
                                              return 1518;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0xx000xxxxx0x10x100010
                                                         sdot.  */
                                                      return 1757;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1xx000xxxxx0x10x100010
                                                         udot.  */
                                                      return 1909;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx0x10x100011
                                                     ld1sh.  */
                                                  return 1529;
                                                }
                                            }
                                        }
                                    }
                                  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
                                                             xxxxxxxxxx000000xxxxx1xx0x100000
                                                             add.  */
                                                          return 1230;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001000xxxxx1xx0x100000
                                                             sqadd.  */
                                                          return 1771;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01x000xxxxx1xx0x100000
                                                         sqsub.  */
                                                      return 1801;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100000xxxxx1xx0x100000
                                                             sub.  */
                                                          return 1883;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101000xxxxx1xx0x100000
                                                             uqadd.  */
                                                          return 1919;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11x000xxxxx1xx0x100000
                                                         uqsub.  */
                                                      return 1949;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx1x00x100001
                                                     prfb.  */
                                                  return 1704;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx1x10x100001
                                                     ld1sh.  */
                                                  return 1526;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx000xxxxx1x00x10001x
                                                 prfb.  */
                                              return 1705;
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0xx000xxxxx1010x100010
                                                             sdot.  */
                                                          return 1758;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0xx000xxxxx1110x100010
                                                             sdot.  */
                                                          return 1759;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1xx000xxxxx1010x100010
                                                             udot.  */
                                                          return 1910;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1xx000xxxxx1110x100010
                                                             udot.  */
                                                          return 1911;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx1x10x100011
                                                     ld1sh.  */
                                                  return 1530;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010x0000xx0x100000
                                                                 asr.  */
                                                              return 1248;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010x0010xx0x100000
                                                                 asr.  */
                                                              return 1246;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx0010x01x0xx0x100000
                                                             asr.  */
                                                          return 1247;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx0010x1x00xx0x100000
                                                             asrd.  */
                                                          return 1249;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx0010x1x10xx0x100000
                                                             asrr.  */
                                                          return 1250;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001100000xx0x100000
                                                                     lsr.  */
                                                                  return 1676;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001100010xx0x100000
                                                                     lsr.  */
                                                                  return 1674;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011001x0xx0x100000
                                                                 lsr.  */
                                                              return 1675;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx001101xx0xx0x100000
                                                             lsrr.  */
                                                          return 1677;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001110000xx0x100000
                                                                     lsl.  */
                                                                  return 1670;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001110010xx0x100000
                                                                     lsl.  */
                                                                  return 1668;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011101x0xx0x100000
                                                                 lsl.  */
                                                              return 1669;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx001111xx0xx0x100000
                                                             lslr.  */
                                                          return 1671;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0x0001xxxxx1xx0x100000
                                                         asr.  */
                                                      return 1244;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0x1001xxxxx1xx0x100000
                                                         asr.  */
                                                      return 1245;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100001xxxxx1xx0x100000
                                                             lsr.  */
                                                          return 1672;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101001xxxxx1xx0x100000
                                                             lsr.  */
                                                          return 1673;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx110001xxxxx1xx0x100000
                                                             lsl.  */
                                                          return 1666;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx111001xxxxx1xx0x100000
                                                             lsl.  */
                                                          return 1667;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxxx000x100001
                                                     ld1sb.  */
                                                  return 1520;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxxx010x100001
                                                     ld1sh.  */
                                                  return 1533;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxxx100x100001
                                                     ld1rb.  */
                                                  return 1490;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxxx110x100001
                                                     ld1rsw.  */
                                                  return 1511;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx001xxxxx0x00x10001x
                                                 ld1sb.  */
                                              return 1519;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx001xxxxx0x10x10001x
                                                 ld1sh.  */
                                              return 1531;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxx1000x10001x
                                                     ld1sb.  */
                                                  return 1524;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxx1010x10001x
                                                     ld1sh.  */
                                                  return 1536;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxx1100x10001x
                                                     prfb.  */
                                                  return 1706;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx001xxxxx1110x10001x
                                                     ld1sh.  */
                                                  return 1532;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx0xx0x100000
                                                 mla.  */
                                              return 1679;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx0x00x100001
                                                     ld1b.  */
                                                  return 1456;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx0x10x100001
                                                     ld1h.  */
                                                  return 1476;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx0x00x10001x
                                                 ld1b.  */
                                              return 1461;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx0x10x10001x
                                                 ld1h.  */
                                              return 1481;
                                            }
                                        }
                                    }
                                  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
                                                             xxxxxxxxxx000010xxxxx1xx0x100000
                                                             index.  */
                                                          return 1447;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100010xxxxx1xx0x100000
                                                             index.  */
                                                          return 1448;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxx01010xxxxx1000x100000
                                                                 addvl.  */
                                                              return 1234;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxx01010xxxxx1010x100000
                                                                 rdvl.  */
                                                              return 1740;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxx01010xxxxx11x0x100000
                                                             addpl.  */
                                                          return 1233;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01x010xxxxx1xx0x100000
                                                         index.  */
                                                      return 1449;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11x010xxxxx1xx0x100000
                                                         index.  */
                                                      return 1446;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1x00x100001
                                                     prfw.  */
                                                  return 1724;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1x10x100001
                                                     ld1h.  */
                                                  return 1477;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx1x00x10001x
                                                 prfw.  */
                                              return 1726;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx1x10x10001x
                                                 ld1h.  */
                                              return 1482;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx011xxxxx0xx0x100000
                                                 mad.  */
                                              return 1678;
                                            }
                                          else
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00x011xxxx010x0x100000
                                                                 sqincw.  */
                                                              return 1798;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00x011xxxx01100x100000
                                                                     sqinch.  */
                                                                  return 1792;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00x011xxxx01110x100000
                                                                     sqincd.  */
                                                                  return 1789;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00x011xxxx110x0x100000
                                                                 incw.  */
                                                              return 1444;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00x011xxxx11100x100000
                                                                     inch.  */
                                                                  return 1440;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00x011xxxx11110x100000
                                                                     incd.  */
                                                                  return 1438;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx01x011xxxxx10x0x100000
                                                             sqdecw.  */
                                                          return 1784;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx01x011xxxxx1100x100000
                                                                 sqdech.  */
                                                              return 1778;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx01x011xxxxx1110x100000
                                                                 sqdecd.  */
                                                              return 1775;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx10x011xxxx010x0x100000
                                                                 uqincw.  */
                                                              return 1946;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx10x011xxxx01100x100000
                                                                     uqinch.  */
                                                                  return 1940;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx10x011xxxx01110x100000
                                                                     uqincd.  */
                                                                  return 1937;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx10x011xxxx110x0x100000
                                                                 decw.  */
                                                              return 1319;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx10x011xxxx11100x100000
                                                                     dech.  */
                                                                  return 1315;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx10x011xxxx11110x100000
                                                                     decd.  */
                                                                  return 1313;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx11x011xxxxx10x0x100000
                                                             uqdecw.  */
                                                          return 1932;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx11x011xxxxx1100x100000
                                                                 uqdech.  */
                                                              return 1926;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx11x011xxxxx1110x100000
                                                                 uqdecd.  */
                                                              return 1923;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0000x100001
                                                         prfb.  */
                                                      return 1703;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0010x100001
                                                         prfh.  */
                                                      return 1718;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx1000x100001
                                                         ld1b.  */
                                                      return 1463;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx1010x100001
                                                         ld1h.  */
                                                      return 1485;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxxx100x100001
                                                     ld1rb.  */
                                                  return 1492;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxxx110x100001
                                                     ld1rh.  */
                                                  return 1496;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx011xxxxx0x00x10001x
                                                 ld1b.  */
                                              return 1462;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx011xxxxx0x10x10001x
                                                 ld1h.  */
                                              return 1483;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1000x10001x
                                                     ld1b.  */
                                                  return 1468;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1010x10001x
                                                     ld1h.  */
                                                  return 1489;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1100x10001x
                                                     prfw.  */
                                                  return 1727;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1110x10001x
                                                     ld1h.  */
                                                  return 1484;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      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 >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx10000x000xx0x100000
                                                                 saddv.  */
                                                              return 1747;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx10010x000xx0x100000
                                                                 uaddv.  */
                                                              return 1899;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx100x0x010xx0x100000
                                                             movprfx.  */
                                                          return 1682;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx10000x100xx0x100000
                                                                 smaxv.  */
                                                              return 1765;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx10000x110xx0x100000
                                                                 orv.  */
                                                              return 1699;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx10010x100xx0x100000
                                                                 umaxv.  */
                                                              return 1914;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx10010x110xx0x100000
                                                                 eorv.  */
                                                              return 1330;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx10001xx00xx0x100000
                                                             sminv.  */
                                                          return 1768;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx10001xx10xx0x100000
                                                             andv.  */
                                                          return 1243;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10011xxx0xx0x100000
                                                         uminv.  */
                                                      return 1917;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx0x00x100001
                                                     ldff1sb.  */
                                                  return 1606;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx0x10x100001
                                                     ldff1sh.  */
                                                  return 1614;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx100xxxxx0x00x10001x
                                                 ldff1sb.  */
                                              return 1610;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx100xxxxx0x10x10001x
                                                 ldff1sh.  */
                                              return 1618;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100xxxxx1000x100000
                                                         and.  */
                                                      return 1238;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100xxxxx1100x100000
                                                         orr.  */
                                                      return 1694;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx1x00x100001
                                                     prfh.  */
                                                  return 1717;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx100xxxxx1x00x10001x
                                                 prfh.  */
                                              return 1719;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100xxxxx1010x100000
                                                         eor.  */
                                                      return 1325;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100xxxxx1110x100000
                                                         bic.  */
                                                      return 1251;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx1x10x100001
                                                     ldff1sh.  */
                                                  return 1615;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx100xxxxx1x10x10001x
                                                 ldff1sh.  */
                                              return 1619;
                                            }
                                        }
                                    }
                                }
                              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)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010000x0xx0x100000
                                                                 sxtb.  */
                                                              return 1890;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010001x0xx0x100000
                                                                 cls.  */
                                                              return 1271;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010010x0xx0x100000
                                                                 sxtw.  */
                                                              return 1892;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010011x0xx0x100000
                                                                 fabs.  */
                                                              return 1333;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010100x0xx0x100000
                                                                 sxth.  */
                                                              return 1891;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010101x0xx0x100000
                                                                 cnt.  */
                                                              return 1300;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010110x0xx0x100000
                                                                 abs.  */
                                                              return 1229;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1010111x0xx0x100000
                                                                 not.  */
                                                              return 1691;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1011000x0xx0x100000
                                                                 uxtb.  */
                                                              return 1953;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1011001x0xx0x100000
                                                                 clz.  */
                                                              return 1272;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1011010x0xx0x100000
                                                                 uxtw.  */
                                                              return 1955;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1011011x0xx0x100000
                                                                 fneg.  */
                                                              return 1410;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1011100x0xx0x100000
                                                                 uxth.  */
                                                              return 1954;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx1011101x0xx0x100000
                                                                 cnot.  */
                                                              return 1299;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101111xx0xx0x100000
                                                             neg.  */
                                                          return 1688;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxx0101xxxxx1000x100000
                                                             adr.  */
                                                          return 1235;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxx0101xxxxx1100x100000
                                                             adr.  */
                                                          return 1236;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxx0101xxxxx1x10x100000
                                                         adr.  */
                                                      return 1237;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001101xxxxx1xx0x100000
                                                             ftssel.  */
                                                          return 1436;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx011101xxxxx1xx0x100000
                                                             fexpa.  */
                                                          return 1380;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1x1101xxxxx1xx0x100000
                                                         movprfx.  */
                                                      return 1681;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxxx000x100001
                                                     ldff1sb.  */
                                                  return 1612;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxxx010x100001
                                                     ldff1sh.  */
                                                  return 1622;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxxx100x100001
                                                     ld1rb.  */
                                                  return 1491;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxxx110x100001
                                                     ld1rh.  */
                                                  return 1495;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxx0x00x10001x
                                                 ldff1sb.  */
                                              return 1611;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxx0x10x10001x
                                                 ldff1sh.  */
                                              return 1620;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx1000x10001x
                                                     ldff1sb.  */
                                                  return 1613;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx1010x10001x
                                                     ldff1sh.  */
                                                  return 1623;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx1100x10001x
                                                     prfh.  */
                                                  return 1720;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx1110x10001x
                                                     ldff1sh.  */
                                                  return 1621;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx0xx0x100000
                                                 mls.  */
                                              return 1680;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx0x00x100001
                                                     ldff1b.  */
                                                  return 1580;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx0x10x100001
                                                     ldff1h.  */
                                                  return 1595;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx0x00x10001x
                                                 ldff1b.  */
                                              return 1585;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx0x10x10001x
                                                 ldff1h.  */
                                              return 1600;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx1x00x10000x
                                                 prfd.  */
                                              return 1710;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx1x00x10001x
                                                 prfd.  */
                                              return 1712;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx1x10x10000x
                                                 ldff1h.  */
                                              return 1596;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx1x10x10001x
                                                 ldff1h.  */
                                              return 1601;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx111xxxxx0xx0x100000
                                                 msb.  */
                                              return 1683;
                                            }
                                          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
                                                                         xxxxxxxxxx000111xxxx01000x100000
                                                                         cntb.  */
                                                                      return 1301;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000111xxxx01010x100000
                                                                         cntw.  */
                                                                      return 1305;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000111xxxx01100x100000
                                                                         cnth.  */
                                                                      return 1303;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000111xxxx01110x100000
                                                                         cntd.  */
                                                                      return 1302;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000111xxxx11000x100000
                                                                         incb.  */
                                                                      return 1437;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000111xxxx11010x100000
                                                                         incw.  */
                                                                      return 1445;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000111xxxx11100x100000
                                                                         inch.  */
                                                                      return 1441;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000111xxxx11110x100000
                                                                         incd.  */
                                                                      return 1439;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx01000x100000
                                                                         sqincb.  */
                                                                      return 1788;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx01010x100000
                                                                         sqincw.  */
                                                                      return 1800;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx01100x100000
                                                                         sqinch.  */
                                                                      return 1794;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx01110x100000
                                                                         sqincd.  */
                                                                      return 1791;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx11000x100000
                                                                         sqincb.  */
                                                                      return 1787;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx11010x100000
                                                                         sqincw.  */
                                                                      return 1799;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx11100x100000
                                                                         sqinch.  */
                                                                      return 1793;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx001111xxxx11110x100000
                                                                         sqincd.  */
                                                                      return 1790;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx01000x100000
                                                                     sqdecb.  */
                                                                  return 1774;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx01010x100000
                                                                     sqdecw.  */
                                                                  return 1786;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx01100x100000
                                                                     sqdech.  */
                                                                  return 1780;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx01110x100000
                                                                     sqdecd.  */
                                                                  return 1777;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx11000x100000
                                                                     sqdecb.  */
                                                                  return 1773;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx11010x100000
                                                                     sqdecw.  */
                                                                  return 1785;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx11100x100000
                                                                     sqdech.  */
                                                                  return 1779;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01x111xxxx11110x100000
                                                                     sqdecd.  */
                                                                  return 1776;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx100111xxxxx1000x100000
                                                                     decb.  */
                                                                  return 1312;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx100111xxxxx1010x100000
                                                                     decw.  */
                                                                  return 1320;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx100111xxxxx1100x100000
                                                                     dech.  */
                                                                  return 1316;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx100111xxxxx1110x100000
                                                                     decd.  */
                                                                  return 1314;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx01000x100000
                                                                         uqincb.  */
                                                                      return 1935;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx01010x100000
                                                                         uqincw.  */
                                                                      return 1947;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx01100x100000
                                                                         uqinch.  */
                                                                      return 1941;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx01110x100000
                                                                         uqincd.  */
                                                                      return 1938;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx11000x100000
                                                                         uqincb.  */
                                                                      return 1936;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx11010x100000
                                                                         uqincw.  */
                                                                      return 1948;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx11100x100000
                                                                         uqinch.  */
                                                                      return 1942;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx101111xxxx11110x100000
                                                                         uqincd.  */
                                                                      return 1939;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx01000x100000
                                                                     uqdecb.  */
                                                                  return 1921;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx01010x100000
                                                                     uqdecw.  */
                                                                  return 1933;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx01100x100000
                                                                     uqdech.  */
                                                                  return 1927;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx01110x100000
                                                                     uqdecd.  */
                                                                  return 1924;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx11000x100000
                                                                     uqdecb.  */
                                                                  return 1922;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx11010x100000
                                                                     uqdecw.  */
                                                                  return 1934;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx11100x100000
                                                                     uqdech.  */
                                                                  return 1928;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx11x111xxxx11110x100000
                                                                     uqdecd.  */
                                                                  return 1925;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0000x100001
                                                         prfb.  */
                                                      return 1707;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0010x100001
                                                         prfh.  */
                                                      return 1721;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1000x100001
                                                         ldff1b.  */
                                                      return 1587;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1010x100001
                                                         ldff1h.  */
                                                      return 1604;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxxx100x100001
                                                     ld1rb.  */
                                                  return 1493;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxxx110x100001
                                                     ld1rh.  */
                                                  return 1497;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0000x10001x
                                                     prfb.  */
                                                  return 1709;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0010x10001x
                                                     prfh.  */
                                                  return 1723;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0100x10001x
                                                     ldff1b.  */
                                                  return 1586;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0110x10001x
                                                     ldff1h.  */
                                                  return 1602;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1000x10001x
                                                     ldff1b.  */
                                                  return 1588;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1010x10001x
                                                     ldff1h.  */
                                                  return 1605;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1100x10001x
                                                     prfd.  */
                                                  return 1713;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1110x10001x
                                                     ldff1h.  */
                                                  return 1603;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                  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
                                                     xxxx0xxxxxxxx000xxxxx0xx0x100100
                                                     cmphs.  */
                                                  return 1285;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx000xxxxx0xx0x100100
                                                     cmphi.  */
                                                  return 1282;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx0x00x100101
                                                     ld1rqb.  */
                                                  return 1499;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx0x10x100101
                                                     ld1rqh.  */
                                                  return 1503;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx010xxxxx0xx0x100100
                                                     cmpge.  */
                                                  return 1276;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx010xxxxx0xx0x100100
                                                     cmpgt.  */
                                                  return 1279;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0000x100101
                                                         ld1b.  */
                                                      return 1457;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0010x100101
                                                         ld1sw.  */
                                                      return 1537;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0100x100101
                                                         ld1b.  */
                                                      return 1459;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0110x100101
                                                         ld1h.  */
                                                      return 1479;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx100xxxxx0xx0x100100
                                                     cmpeq.  */
                                                  return 1273;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx100xxxxx0xx0x100100
                                                     cmpne.  */
                                                  return 1296;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx0x00x100101
                                                     ld1rqb.  */
                                                  return 1498;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx0x10x100101
                                                     ld1rqh.  */
                                                  return 1502;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx110xxxxx0xx0x100100
                                                     cmplt.  */
                                                  return 1294;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx110xxxxx0xx0x100100
                                                     cmple.  */
                                                  return 1288;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0000x100101
                                                         ldff1b.  */
                                                      return 1581;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0010x100101
                                                         ldff1sw.  */
                                                      return 1624;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0100x100101
                                                         ldff1b.  */
                                                      return 1583;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0110x100101
                                                         ldff1h.  */
                                                      return 1598;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxx0xxxxx0xx0x100110
                                         fcmla.  */
                                      return 1342;
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx0x0xxxxx00x0x100111
                                                 st1b.  */
                                              return 1803;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x0xxxxx0100x100111
                                                     st1b.  */
                                                  return 1807;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x0xxxxx0110x100111
                                                     st1h.  */
                                                  return 1828;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx1x0xxxxx0000x100111
                                                     stnt1b.  */
                                                  return 1873;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx1x0xxxxx0010x100111
                                                     stnt1h.  */
                                                  return 1877;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx1x0xxxxx0100x100111
                                                     st3b.  */
                                                  return 1857;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx1x0xxxxx0110x100111
                                                     st3h.  */
                                                  return 1861;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 13) & 0x1) == 0)
                                {
                                  if (((word >> 30) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx0xxxxxxxx001xxxxx0xx0x10010x
                                                 cmpge.  */
                                              return 1277;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxxxxx001xxxxx0xx0x10010x
                                                 cmpgt.  */
                                              return 1280;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx011xxxxx0xx0x100100
                                                     cmphs.  */
                                                  return 1286;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx011xxxxx0xx0x100100
                                                     cmphi.  */
                                                  return 1283;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0000x100101
                                                         ldnt1b.  */
                                                      return 1656;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0010x100101
                                                         ldnt1h.  */
                                                      return 1660;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0100x100101
                                                         ld3b.  */
                                                      return 1564;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0110x100101
                                                         ld3h.  */
                                                      return 1568;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0x1xxxxx0xx0x100110
                                             fcadd.  */
                                          return 1341;
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx0000x100111
                                                     st1b.  */
                                                  return 1804;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx0010x100111
                                                     st1h.  */
                                                  return 1823;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx0100x100111
                                                     st1b.  */
                                                  return 1808;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx0110x100111
                                                     st1h.  */
                                                  return 1829;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx101xxxxx0xx0x100100
                                                     cmpeq.  */
                                                  return 1274;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx101xxxxx0xx0x100100
                                                     cmpne.  */
                                                  return 1297;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx00000x100101
                                                             ld1b.  */
                                                          return 1464;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx00010x100101
                                                             ld1sw.  */
                                                          return 1542;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx00100x100101
                                                             ld1b.  */
                                                          return 1466;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx00110x100101
                                                             ld1h.  */
                                                          return 1487;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx10000x100101
                                                             ldnf1b.  */
                                                          return 1640;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx10010x100101
                                                             ldnf1sw.  */
                                                          return 1653;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx10100x100101
                                                             ldnf1b.  */
                                                          return 1642;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx101xxxx10110x100101
                                                             ldnf1h.  */
                                                          return 1646;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx0000x10011x
                                                     st1b.  */
                                                  return 1805;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx0010x10011x
                                                     st1h.  */
                                                  return 1824;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx0100x10011x
                                                     st1b.  */
                                                  return 1812;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx0110x10011x
                                                     st1h.  */
                                                  return 1833;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx111xxxxx0xx0x100100
                                                     cmplo.  */
                                                  return 1290;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx111xxxxx0xx0x100100
                                                     cmpls.  */
                                                  return 1292;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0000x100101
                                                         ldnt1b.  */
                                                      return 1657;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0010x100101
                                                         ldnt1h.  */
                                                      return 1661;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0100x100101
                                                         ld3b.  */
                                                      return 1565;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0110x100101
                                                         ld3h.  */
                                                      return 1569;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxx000x0x10011x
                                                     st1b.  */
                                                  return 1810;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx00100x10011x
                                                         st1b.  */
                                                      return 1813;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx00110x10011x
                                                         st1h.  */
                                                      return 1834;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx10000x10011x
                                                         stnt1b.  */
                                                      return 1874;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx10010x10011x
                                                         stnt1h.  */
                                                      return 1878;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx10100x10011x
                                                         st3b.  */
                                                      return 1858;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx10110x10011x
                                                         st3h.  */
                                                      return 1862;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 13) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx0xxxxxxxx0xxxxxxx1xx0x100100
                                             cmphs.  */
                                          return 1287;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx1xxxxxxxx0xxxxxxx1xx0x100100
                                             cmphi.  */
                                          return 1284;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x0xxxxx1000x100101
                                                     ld1b.  */
                                                  return 1458;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x0xxxxx1010x100101
                                                     ld1h.  */
                                                  return 1478;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x0xxxxx1100x100101
                                                     ld1b.  */
                                                  return 1460;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x0xxxxx1110x100101
                                                     ld1h.  */
                                                  return 1480;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx1000x100101
                                                     ld2b.  */
                                                  return 1556;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx1010x100101
                                                     ld2h.  */
                                                  return 1560;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx1100x100101
                                                     ld4b.  */
                                                  return 1572;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx1110x100101
                                                     ld4h.  */
                                                  return 1576;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0x0000xxxxx1x00x10011x
                                                         fmla.  */
                                                      return 1395;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0x0000xxxxx1010x10011x
                                                             fmla.  */
                                                          return 1396;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0x0000xxxxx1110x10011x
                                                             fmla.  */
                                                          return 1397;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1x0000xxxxx1x00x10011x
                                                         fmls.  */
                                                      return 1399;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 22) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1x0000xxxxx1010x10011x
                                                             fmls.  */
                                                          return 1400;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1x0000xxxxx1110x10011x
                                                             fmls.  */
                                                          return 1401;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxx1000xxxxx10x0x10011x
                                                     fcmla.  */
                                                  return 1343;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxx1000xxxxx11x0x10011x
                                                     fcmla.  */
                                                  return 1344;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1000x10011x
                                                     st1b.  */
                                                  return 1806;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1010x10011x
                                                     st1h.  */
                                                  return 1825;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1100x10011x
                                                     st1b.  */
                                                  return 1809;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1110x10011x
                                                     st1h.  */
                                                  return 1830;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0x1xxxxx10x0x10011x
                                             st1h.  */
                                          return 1826;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0x1xxxxx11x0x10011x
                                             st1h.  */
                                          return 1831;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      if (((word >> 4) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx0xxxxxxxx1xxxxxxx1xx0x100100
                                             cmplo.  */
                                          return 1291;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx1xxxxxxxx1xxxxxxx1xx0x100100
                                             cmpls.  */
                                          return 1293;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx01000x100101
                                                         ld1b.  */
                                                      return 1465;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx01010x100101
                                                         ld1h.  */
                                                      return 1486;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx01100x100101
                                                         ld1b.  */
                                                      return 1467;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx01110x100101
                                                         ld1h.  */
                                                      return 1488;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx11000x100101
                                                         ldnf1b.  */
                                                      return 1641;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx11010x100101
                                                         ldnf1h.  */
                                                      return 1645;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx11100x100101
                                                         ldnf1b.  */
                                                      return 1643;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx10xxxxx11110x100101
                                                         ldnf1h.  */
                                                      return 1647;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1000x100101
                                                         ldff1b.  */
                                                      return 1582;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1010x100101
                                                         ldff1h.  */
                                                      return 1597;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1100x100101
                                                         ldff1b.  */
                                                      return 1584;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1110x100101
                                                         ldff1h.  */
                                                      return 1599;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1000x100101
                                                         ld2b.  */
                                                      return 1557;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1010x100101
                                                         ld2h.  */
                                                      return 1561;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1100x100101
                                                         ld4b.  */
                                                      return 1573;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1110x100101
                                                         ld4h.  */
                                                      return 1577;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx100xxxxx1x00x10011x
                                                 fmul.  */
                                              return 1406;
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx1010x10011x
                                                     fmul.  */
                                                  return 1407;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx1110x10011x
                                                     fmul.  */
                                                  return 1408;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxx10x0x10011x
                                                 st1h.  */
                                              return 1827;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx1100x10011x
                                                     st1b.  */
                                                  return 1814;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx1110x10011x
                                                     st1h.  */
                                                  return 1835;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1000x10011x
                                                     st2b.  */
                                                  return 1849;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1010x10011x
                                                     st2h.  */
                                                  return 1853;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1100x10011x
                                                     st4b.  */
                                                  return 1865;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1110x10011x
                                                     st4h.  */
                                                  return 1869;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx01000x10011x
                                                         st1b.  */
                                                      return 1811;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx01010x10011x
                                                         st1h.  */
                                                      return 1832;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx01100x10011x
                                                         st1b.  */
                                                      return 1815;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx01110x10011x
                                                         st1h.  */
                                                      return 1836;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx11000x10011x
                                                         st2b.  */
                                                      return 1850;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx11010x10011x
                                                         st2h.  */
                                                      return 1854;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx11100x10011x
                                                         st4b.  */
                                                      return 1866;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx11110x10011x
                                                         st4h.  */
                                                      return 1870;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
              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
                                                 xxxxxxxxxxxxxxxxxxxx00001x100000
                                                 orr.  */
                                              return 1695;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxxxxxxx00011x100000
                                                 and.  */
                                              return 1239;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxxxxxxx00101x100000
                                                 eor.  */
                                              return 1326;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxxxxxxxxx00111x100000
                                                 dupm.  */
                                              return 1324;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx0xxxx10xx1x100000
                                             cpy.  */
                                          return 1309;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxx1xxxx10xx1x100000
                                             fcpy.  */
                                          return 1356;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx000xxxxx1xx1x100000
                                                 ext.  */
                                              return 1331;
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010000x1xx1x100000
                                                                 cpy.  */
                                                              return 1307;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010001x1xx1x100000
                                                                 clasta.  */
                                                              return 1265;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010010x1xx1x100000
                                                                 revb.  */
                                                              return 1743;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010011x1xx1x100000
                                                                 splice.  */
                                                              return 1770;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010100x1xx1x100000
                                                                 lasta.  */
                                                              return 1453;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010101x1xx1x100000
                                                                 clasta.  */
                                                              return 1266;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx001011xx1xx1x100000
                                                             revw.  */
                                                          return 1745;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011000x1xx1x100000
                                                                 compact.  */
                                                              return 1306;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011001x1xx1x100000
                                                                 clastb.  */
                                                              return 1268;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx001101xx1xx1x100000
                                                             revh.  */
                                                          return 1744;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011100x1xx1x100000
                                                                 lastb.  */
                                                              return 1455;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011101x1xx1x100000
                                                                 clastb.  */
                                                              return 1269;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx001111xx1xx1x100000
                                                             rbit.  */
                                                          return 1736;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxx00100xxxxx1xx1x100000
                                                         dup.  */
                                                      return 1322;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxx01100xxxxx1xx1x100000
                                                         tbl.  */
                                                      return 1893;
                                                    }
                                                }
                                              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
                                                                         xxxxxxxxxxx1x100000001xx1x100000
                                                                         dup.  */
                                                                      return 1321;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxx1x100000011xx1x100000
                                                                         sunpklo.  */
                                                                      return 1889;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxx1x1000001x1xx1x100000
                                                                     rev.  */
                                                                  return 1742;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxx1x100001x01xx1x100000
                                                                     insr.  */
                                                                  return 1450;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxx1x100001x11xx1x100000
                                                                     insr.  */
                                                                  return 1451;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxx1x10001xxx1xx1x100000
                                                             uunpklo.  */
                                                          return 1952;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxx1x10010xxx1xx1x100000
                                                             sunpkhi.  */
                                                          return 1888;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxx1x10011xxx1xx1x100000
                                                             uunpkhi.  */
                                                          return 1951;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx1010xx001xx1x100000
                                                             lasta.  */
                                                          return 1452;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx1010xx011xx1x100000
                                                             clasta.  */
                                                          return 1267;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx1010xx1x1xx1x100000
                                                         cpy.  */
                                                      return 1308;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx1011xxx01xx1x100000
                                                         lastb.  */
                                                      return 1454;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx1011xxx11xx1x100000
                                                         clastb.  */
                                                      return 1270;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  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
                                                                 xxxxxxxxxx000010xxxx01xx1x100000
                                                                 zip1.  */
                                                              return 1969;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 16) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 18) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0000100x0x11xx1x100000
                                                                         punpklo.  */
                                                                      return 1735;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0000100x1x11xx1x100000
                                                                         rev.  */
                                                                      return 1741;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0000101xxx11xx1x100000
                                                                     punpkhi.  */
                                                                  return 1734;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000110xxxxx1xx1x100000
                                                             zip1.  */
                                                          return 1970;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001010xxxxx1xx1x100000
                                                             trn1.  */
                                                          return 1894;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001110xxxxx1xx1x100000
                                                             trn1.  */
                                                          return 1895;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01x010xxxxx1xx1x100000
                                                         uzp1.  */
                                                      return 1956;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx01x110xxxxx1xx1x100000
                                                         uzp1.  */
                                                      return 1957;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100010xxxxx1xx1x100000
                                                             zip2.  */
                                                          return 1971;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100110xxxxx1xx1x100000
                                                             zip2.  */
                                                          return 1972;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 13) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101010xxxxx1xx1x100000
                                                             trn2.  */
                                                          return 1896;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101110xxxxx1xx1x100000
                                                             trn2.  */
                                                          return 1897;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11x010xxxxx1xx1x100000
                                                         uzp2.  */
                                                      return 1958;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11x110xxxxx1xx1x100000
                                                         uzp2.  */
                                                      return 1959;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxx11xxxxx1xx1x100000
                                             sel.  */
                                          return 1760;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 13) & 0x1) == 0)
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx000xxxxxx0x1x100001
                                                 ldr.  */
                                              return 1664;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx000xxxxxx1x1x100001
                                                 prfb.  */
                                              return 1708;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx001xxxxxxx01x100001
                                                 ld1rsh.  */
                                              return 1509;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx001xxxxxxx11x100001
                                                 ld1rsb.  */
                                              return 1506;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx0x01x100001
                                                     ld1w.  */
                                                  return 1544;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1x01x100001
                                                     ld1w.  */
                                                  return 1545;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxxx011x100001
                                                     ldr.  */
                                                  return 1665;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxxx111x100001
                                                     prfw.  */
                                                  return 1729;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0001x100001
                                                         prfw.  */
                                                      return 1725;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0011x100001
                                                         prfd.  */
                                                      return 1711;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx10x1x100001
                                                     ld1w.  */
                                                  return 1552;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxxx101x100001
                                                     ld1rw.  */
                                                  return 1512;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxxx111x100001
                                                     ld1rsb.  */
                                                  return 1508;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx100xxxxxxxx1x100001
                                             prfh.  */
                                          return 1722;
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxxxx01x100001
                                                 ld1rsh.  */
                                              return 1510;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxxxx11x100001
                                                 ld1rsb.  */
                                              return 1507;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 15) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx0x01x100001
                                                     ldff1w.  */
                                                  return 1630;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1x01x100001
                                                     ldff1w.  */
                                                  return 1631;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxxxx11x100001
                                                 prfd.  */
                                              return 1715;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0001x100001
                                                         prfw.  */
                                                      return 1728;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0011x100001
                                                         prfd.  */
                                                      return 1714;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx10x1x100001
                                                     ldff1w.  */
                                                  return 1638;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxxx101x100001
                                                     ld1rw.  */
                                                  return 1513;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxxx111x100001
                                                     ld1rd.  */
                                                  return 1494;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 13) & 0x1) == 0)
                            {
                              if (((word >> 14) & 0x1) == 0)
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx000xxxxx0xx1x10001x
                                             ld1sw.  */
                                          return 1538;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx000xxxxx1xx1x10001x
                                             ld1sw.  */
                                          return 1539;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx001xxxxx0xx1x10001x
                                             ld1sw.  */
                                          return 1540;
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx001xxxxx10x1x10001x
                                                 ld1sw.  */
                                              return 1543;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx001xxxxx11x1x10001x
                                                 ld1sw.  */
                                              return 1541;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx0x01x10001x
                                                 ld1w.  */
                                              return 1548;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx0x11x10001x
                                                 ld1d.  */
                                              return 1470;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx1x01x10001x
                                                 ld1w.  */
                                              return 1549;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx1x11x10001x
                                                 ld1d.  */
                                              return 1471;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx011xxxxx0x01x10001x
                                                 ld1w.  */
                                              return 1550;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx011xxxxx0x11x10001x
                                                 ld1d.  */
                                              return 1472;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1001x10001x
                                                     ld1w.  */
                                                  return 1555;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1011x10001x
                                                     ld1d.  */
                                                  return 1475;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1101x10001x
                                                     ld1w.  */
                                                  return 1551;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx011xxxxx1111x10001x
                                                     ld1d.  */
                                                  return 1473;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 14) & 0x1) == 0)
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx100xxxxx0xx1x10001x
                                             ldff1sw.  */
                                          return 1625;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx100xxxxx1xx1x10001x
                                             ldff1sw.  */
                                          return 1626;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx101xxxxx0xx1x10001x
                                             ldff1sw.  */
                                          return 1627;
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxx10x1x10001x
                                                 ldff1sw.  */
                                              return 1629;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxx11x1x10001x
                                                 ldff1sw.  */
                                              return 1628;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 15) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx0x01x10001x
                                                 ldff1w.  */
                                              return 1634;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx0x11x10001x
                                                 ldff1d.  */
                                              return 1590;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx1x01x10001x
                                                 ldff1w.  */
                                              return 1635;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx1x11x10001x
                                                 ldff1d.  */
                                              return 1591;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0001x10001x
                                                     prfw.  */
                                                  return 1730;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0011x10001x
                                                     prfd.  */
                                                  return 1716;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0101x10001x
                                                     ldff1w.  */
                                                  return 1636;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx0111x10001x
                                                     ldff1d.  */
                                                  return 1592;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1001x10001x
                                                     ldff1w.  */
                                                  return 1639;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1011x10001x
                                                     ldff1d.  */
                                                  return 1594;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1101x10001x
                                                     ldff1w.  */
                                                  return 1637;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxxx1111x10001x
                                                     ldff1d.  */
                                                  return 1593;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                  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
                                                     xxxx0xxxxxxxx000xxxxx0xx1x100100
                                                     cmpge.  */
                                                  return 1278;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx000xxxxx0xx1x100100
                                                     cmpgt.  */
                                                  return 1281;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx0x01x100101
                                                     ld1rqw.  */
                                                  return 1505;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx000xxxxx0x11x100101
                                                     ld1rqd.  */
                                                  return 1501;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx0xxxxxx00000xxxxx1xx1x10010x
                                                         whilelt.  */
                                                      return 1966;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx0xxxxxx01000xxxxx1xx1x10010x
                                                         whilelt.  */
                                                      return 1967;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx0xxxxxx10000xxxxx1xx1x10010x
                                                         whilelo.  */
                                                      return 1962;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx0xxxxxx11000xxxxx1xx1x10010x
                                                         whilelo.  */
                                                      return 1963;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 11) & 0x1) == 0)
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx1xxxxxx00000xxxxx1xx1x10010x
                                                         whilele.  */
                                                      return 1960;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx1xxxxxx01000xxxxx1xx1x10010x
                                                         whilele.  */
                                                      return 1961;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 12) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx1xxxxxx10000xxxxx1xx1x10010x
                                                         whilels.  */
                                                      return 1964;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx1xxxxxx11000xxxxx1xx1x10010x
                                                         whilels.  */
                                                      return 1965;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 10) & 0x1) == 0)
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00x000xxxxx0xx1x100110
                                                         fadd.  */
                                                      return 1336;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx010000xxxxx0xx1x100110
                                                             fmul.  */
                                                          return 1403;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx011000xxxxx0xx1x100110
                                                             frecps.  */
                                                          return 1416;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 11) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10x000xxxxx0xx1x100110
                                                         fsub.  */
                                                      return 1429;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 12) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx110000xxxxx0xx1x100110
                                                             ftsmul.  */
                                                          return 1435;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx111000xxxxx0xx1x100110
                                                             frsqrts.  */
                                                          return 1426;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx000xxxxx1xx1x100110
                                                 fmla.  */
                                              return 1394;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx000xxxxxxxx1x100111
                                             str.  */
                                          return 1881;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx100xxxxx0xx1x100100
                                                     cmplt.  */
                                                  return 1295;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx100xxxxx0xx1x100100
                                                     cmple.  */
                                                  return 1289;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx0x01x100101
                                                     ld1rqw.  */
                                                  return 1504;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx100xxxxx0x11x100101
                                                     ld1rqd.  */
                                                  return 1500;
                                                }
                                            }
                                        }
                                      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
                                                                 xxxxxxxxxxxxx100000000xx1x10011x
                                                                 faddv.  */
                                                              return 1340;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 4) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxx0xxxxxxxx100000010xx1x10011x
                                                                     fcmge.  */
                                                                  return 1347;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxx1xxxxxxxx100000010xx1x10011x
                                                                     fcmgt.  */
                                                                  return 1349;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx1000001x0xx1x10011x
                                                             fadda.  */
                                                          return 1339;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100001xx0xx1x10011x
                                                         fmaxnmv.  */
                                                      return 1386;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100010xx0xx1x10011x
                                                         fcmeq.  */
                                                      return 1345;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx1000110x0xx1x10011x
                                                             fmaxv.  */
                                                          return 1387;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx1000111x0xx1x10011x
                                                             frecpe.  */
                                                          return 1415;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 4) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx0xxxxxxxx100100xx0xx1x10011x
                                                             fcmlt.  */
                                                          return 1352;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx1xxxxxxxx100100xx0xx1x10011x
                                                             fcmle.  */
                                                          return 1351;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100101xx0xx1x10011x
                                                         fminnmv.  */
                                                      return 1392;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx100110xx0xx1x10011x
                                                         fcmne.  */
                                                      return 1353;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx1001110x0xx1x10011x
                                                             fminv.  */
                                                          return 1393;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx1001111x0xx1x10011x
                                                             frsqrte.  */
                                                          return 1425;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx0xxxxxxxx100xxxxx1xx1x10010x
                                                 ctermeq.  */
                                              return 1310;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxxxxx100xxxxx1xx1x10010x
                                                 ctermne.  */
                                              return 1311;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx100xxxxx1xx1x10011x
                                             fmls.  */
                                          return 1398;
                                        }
                                    }
                                }
                            }
                          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
                                                                 xxxx0xxxx0xxxx10xxxx00001x100100
                                                                 and.  */
                                                              return 1241;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx1xxxx0xxxx10xxxx00001x100100
                                                                 bic.  */
                                                              return 1253;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxx0xxxx10xxx010001x100100
                                                                 brka.  */
                                                              return 1255;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxx0xxxx10xxx110001x100100
                                                                 brkn.  */
                                                              return 1259;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 4) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx0xxxx1xxxx10xxxxx0001x100100
                                                             eor.  */
                                                          return 1328;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx1xxxx1xxxx10xxxxx0001x100100
                                                             sel.  */
                                                          return 1761;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0001x100101
                                                         ld1sh.  */
                                                      return 1527;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0001x100101
                                                         ldff1sh.  */
                                                      return 1616;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 9) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 4) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx0xxxx0xxxx10xxxx00011x100100
                                                                 orr.  */
                                                              return 1697;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx1xxxx0xxxx10xxxx00011x100100
                                                                 orn.  */
                                                              return 1692;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxx0xxxx10xxxx10011x100100
                                                             brkb.  */
                                                          return 1257;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 4) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx0xxxx1xxxx10xxxxx0011x100100
                                                             nor.  */
                                                          return 1689;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx1xxxx1xxxx10xxxxx0011x100100
                                                             nand.  */
                                                          return 1686;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0011x100101
                                                         ld1sb.  */
                                                      return 1515;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0011x100101
                                                         ldff1sb.  */
                                                      return 1607;
                                                    }
                                                }
                                            }
                                        }
                                      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
                                                                 xxxx0xxxx0xxxx10xxxx00101x100100
                                                                 ands.  */
                                                              return 1242;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxx0xxxx0xxxx10xxx010101x100100
                                                                     brkas.  */
                                                                  return 1256;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxx0xxxx0xxxx10xxx110101x100100
                                                                     brkns.  */
                                                                  return 1260;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx0xxxx1xxxx10xxxxx0101x100100
                                                             eors.  */
                                                          return 1329;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx1xxxxxxxxx10xxxxx0101x100100
                                                         bics.  */
                                                      return 1254;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0101x100101
                                                         ld1w.  */
                                                      return 1546;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0101x100101
                                                         ldff1w.  */
                                                      return 1632;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 31) & 0x1) == 0)
                                                {
                                                  if (((word >> 4) & 0x1) == 0)
                                                    {
                                                      if (((word >> 9) & 0x1) == 0)
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx0xxxx0xxxx10xxxx00111x100100
                                                                 orrs.  */
                                                              return 1698;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx0xxxx0xxxx10xxxx10111x100100
                                                                 brkbs.  */
                                                              return 1258;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx0xxxx1xxxx10xxxxx0111x100100
                                                             nors.  */
                                                          return 1690;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 9) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx1xxxx0xxxx10xxxxx0111x100100
                                                             orns.  */
                                                          return 1693;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx1xxxx1xxxx10xxxxx0111x100100
                                                             nands.  */
                                                          return 1687;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx0111x100101
                                                         ld1sb.  */
                                                      return 1517;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0111x100101
                                                         ldff1sb.  */
                                                      return 1609;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1001x10010x
                                                     ld1sh.  */
                                                  return 1528;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1011x10010x
                                                     ld1sb.  */
                                                  return 1516;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1101x10010x
                                                     ld1w.  */
                                                  return 1547;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx1111x10010x
                                                     ld1d.  */
                                                  return 1469;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1001x10010x
                                                     ldff1sh.  */
                                                  return 1617;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1011x10010x
                                                     ldff1sb.  */
                                                  return 1608;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1101x10010x
                                                     ldff1w.  */
                                                  return 1633;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx110xxxxx1111x10010x
                                                     ldff1d.  */
                                                  return 1589;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 21) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx010xxxxx0xx1x100110
                                                     fcmge.  */
                                                  return 1348;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx010xxxxx0xx1x100110
                                                     fcmgt.  */
                                                  return 1350;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxx1xx1x100110
                                                 fnmla.  */
                                              return 1412;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx010xxxxxx0x1x100111
                                                 str.  */
                                              return 1882;
                                            }
                                          else
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx010xxxxx01x1x100111
                                                     st1w.  */
                                                  return 1841;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx1101x100111
                                                         st1w.  */
                                                      return 1843;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx010xxxxx1111x100111
                                                         st1d.  */
                                                      return 1820;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx110xxxxx0xx1x100110
                                                     fcmeq.  */
                                                  return 1346;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx110xxxxx0xx1x100110
                                                     fcmne.  */
                                                  return 1354;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0001x100111
                                                         stnt1w.  */
                                                      return 1879;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0011x100111
                                                         stnt1d.  */
                                                      return 1875;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0101x100111
                                                         st3w.  */
                                                      return 1863;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx0111x100111
                                                         st3d.  */
                                                      return 1859;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx110xxxxx1xx1x100110
                                                 fnmls.  */
                                              return 1413;
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1001x100111
                                                         st2w.  */
                                                      return 1855;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1011x100111
                                                         st2d.  */
                                                      return 1851;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1101x100111
                                                         st4w.  */
                                                      return 1871;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx110xxxxx1111x100111
                                                         st4d.  */
                                                      return 1867;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 21) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx0xxxxxxxx001xxxxx0xx1x10010x
                                                 cmpeq.  */
                                              return 1275;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxxxxx001xxxxx0xx1x10010x
                                                 cmpne.  */
                                              return 1298;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 20) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx00001x10010x
                                                         ld1sh.  */
                                                      return 1534;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx00011x10010x
                                                         ld1sb.  */
                                                      return 1521;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx00101x10010x
                                                         ld1w.  */
                                                      return 1553;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx00111x10010x
                                                         ld1sb.  */
                                                      return 1523;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx10001x10010x
                                                         ldnf1sh.  */
                                                      return 1651;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx10011x10010x
                                                         ldnf1sb.  */
                                                      return 1648;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx10101x10010x
                                                         ldnf1w.  */
                                                      return 1654;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxx10111x10010x
                                                         ldnf1sb.  */
                                                      return 1650;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx0xxxxxxxxx11xxxx000x1x100100
                                                         brkpa.  */
                                                      return 1261;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxx0xxxxxxxxx11xxxx001x1x100100
                                                         brkpas.  */
                                                      return 1262;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx0xxxxxxxxx110xx010xx1x100100
                                                             ptest.  */
                                                          return 1731;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 10) & 0x1) == 0)
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 13) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxx0xxxxx0x00110xx110xx1x100100
                                                                         pfirst.  */
                                                                      return 1701;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxx0xxxxx0x01110xx110xx1x100100
                                                                         ptrue.  */
                                                                      return 1732;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxx0xxxxx0x1x110xx1100x1x100100
                                                                         rdffr.  */
                                                                      return 1738;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxx0xxxxx0x1x110xx1101x1x100100
                                                                         rdffrs.  */
                                                                      return 1739;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx0xxxxx1xxx110xx110xx1x100100
                                                                 pfalse.  */
                                                              return 1700;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 12) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx0xxxxx0x0x111xxx10xx1x100100
                                                                 ptrues.  */
                                                              return 1733;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxx0xxxxx0x1x111xxx10xx1x100100
                                                                 rdffr.  */
                                                              return 1737;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxx0xxxxx1xxx111xxx10xx1x100100
                                                             pnext.  */
                                                          return 1702;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxxx11xxxxx00x1x100100
                                                     brkpb.  */
                                                  return 1263;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxxx11xxxxx01x1x100100
                                                     brkpbs.  */
                                                  return 1264;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0001x100101
                                                         ldnt1w.  */
                                                      return 1662;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0011x100101
                                                         ldnt1d.  */
                                                      return 1658;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0101x100101
                                                         ld3w.  */
                                                      return 1570;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx0111x100101
                                                         ld3d.  */
                                                      return 1566;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0001x100101
                                                         ldnt1w.  */
                                                      return 1663;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0011x100101
                                                         ldnt1d.  */
                                                      return 1659;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0101x100101
                                                         ld3w.  */
                                                      return 1571;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx0111x100101
                                                         ld3d.  */
                                                      return 1567;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              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
                                                                     xxxxxxxxxxxxx001000000xx1x100110
                                                                     fadd.  */
                                                                  return 1337;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001001000xx1x100110
                                                                     fmaxnm.  */
                                                                  return 1384;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001010000xx1x100110
                                                                     fmul.  */
                                                                  return 1404;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001011000xx1x100110
                                                                     fmax.  */
                                                                  return 1382;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001100000xx1x100110
                                                                     fsub.  */
                                                                  return 1430;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001101000xx1x100110
                                                                     fminnm.  */
                                                                  return 1390;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001110000xx1x100110
                                                                     fsubr.  */
                                                                  return 1432;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001111000xx1x100110
                                                                     fmin.  */
                                                                  return 1388;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx001xxx010xx1x100110
                                                         ftmad.  */
                                                      return 1434;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001000100xx1x100110
                                                                     fabd.  */
                                                                  return 1332;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001000110xx1x100110
                                                                     fadd.  */
                                                                  return 1338;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001001100xx1x100110
                                                                     fdivr.  */
                                                                  return 1378;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001001110xx1x100110
                                                                     fmaxnm.  */
                                                                  return 1385;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001010100xx1x100110
                                                                     fmulx.  */
                                                                  return 1409;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001010110xx1x100110
                                                                     fmul.  */
                                                                  return 1405;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0010111x0xx1x100110
                                                                 fmax.  */
                                                              return 1383;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001100100xx1x100110
                                                                     fscale.  */
                                                                  return 1427;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001100110xx1x100110
                                                                     fsub.  */
                                                                  return 1431;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001101100xx1x100110
                                                                     fdiv.  */
                                                                  return 1377;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx001101110xx1x100110
                                                                     fminnm.  */
                                                                  return 1391;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011101x0xx1x100110
                                                                 fsubr.  */
                                                              return 1433;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxx0011111x0xx1x100110
                                                                 fmin.  */
                                                              return 1389;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 4) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx0xxxxxxxx011xxxxx0xx1x100110
                                                     fcmuo.  */
                                                  return 1355;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxx1xxxxxxxx011xxxxx0xx1x100110
                                                     facge.  */
                                                  return 1334;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx0001x100111
                                                     st1w.  */
                                                  return 1837;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx0011x100111
                                                     st1d.  */
                                                  return 1816;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx0x1xxxxx01x1x100111
                                                 st1w.  */
                                              return 1842;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 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
                                                                     xxxxxxxxxxxxx101000000xx1x100110
                                                                     frintn.  */
                                                                  return 1421;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101000010xx1x100110
                                                                     scvtf.  */
                                                                  return 1751;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1010001000x1x100110
                                                                         fcvt.  */
                                                                      return 1357;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1010001001x1x100110
                                                                         fcvt.  */
                                                                      return 1359;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101000110xx1x100110
                                                                     fcvtzs.  */
                                                                  return 1367;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101001000xx1x100110
                                                                     frinta.  */
                                                                  return 1418;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1010010100x1x100110
                                                                         scvtf.  */
                                                                      return 1750;
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxxxxx101001010101x100110
                                                                             scvtf.  */
                                                                          return 1749;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxxxxx101001010111x100110
                                                                             scvtf.  */
                                                                          return 1753;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101001100xx1x100110
                                                                     frecpx.  */
                                                                  return 1417;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1010011100x1x100110
                                                                         fcvtzs.  */
                                                                      return 1366;
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxxxxx101001110101x100110
                                                                             fcvtzs.  */
                                                                          return 1364;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxxxxx101001110111x100110
                                                                             fcvtzs.  */
                                                                          return 1368;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101010000xx1x100110
                                                                     frintm.  */
                                                                  return 1420;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101010010xx1x100110
                                                                     scvtf.  */
                                                                  return 1748;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101010100xx1x100110
                                                                     fcvt.  */
                                                                  return 1361;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101010110xx1x100110
                                                                     fcvtzs.  */
                                                                  return 1363;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101011000xx1x100110
                                                                     frintx.  */
                                                                  return 1423;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx101011010x01x100110
                                                                         scvtf.  */
                                                                      return 1752;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx101011010x11x100110
                                                                         scvtf.  */
                                                                      return 1754;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx1010111x0x01x100110
                                                                     fcvtzs.  */
                                                                  return 1365;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx1010111x0x11x100110
                                                                     fcvtzs.  */
                                                                  return 1369;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 17) & 0x1) == 0)
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101100000xx1x100110
                                                                     frintp.  */
                                                                  return 1422;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101100010xx1x100110
                                                                     ucvtf.  */
                                                                  return 1903;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1011001000x1x100110
                                                                         fcvt.  */
                                                                      return 1358;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1011001001x1x100110
                                                                         fcvt.  */
                                                                      return 1360;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101100110xx1x100110
                                                                     fcvtzu.  */
                                                                  return 1374;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 22) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx1011010x00x1x100110
                                                                     ucvtf.  */
                                                                  return 1902;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1011010x0101x100110
                                                                         ucvtf.  */
                                                                      return 1901;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1011010x0111x100110
                                                                         ucvtf.  */
                                                                      return 1905;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101101100xx1x100110
                                                                     fsqrt.  */
                                                                  return 1428;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 22) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx1011011100x1x100110
                                                                         fcvtzu.  */
                                                                      return 1373;
                                                                    }
                                                                  else
                                                                    {
                                                                      if (((word >> 23) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxxxxx101101110101x100110
                                                                             fcvtzu.  */
                                                                          return 1371;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxxxxx101101110111x100110
                                                                             fcvtzu.  */
                                                                          return 1375;
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 18) & 0x1) == 0)
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101110000xx1x100110
                                                                     frintz.  */
                                                                  return 1424;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101110010xx1x100110
                                                                     ucvtf.  */
                                                                  return 1900;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101110100xx1x100110
                                                                     fcvt.  */
                                                                  return 1362;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101110110xx1x100110
                                                                     fcvtzu.  */
                                                                  return 1370;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 19) & 0x1) == 0)
                                                            {
                                                              if (((word >> 20) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx101111000xx1x100110
                                                                     frinti.  */
                                                                  return 1419;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 23) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx101111010x01x100110
                                                                         ucvtf.  */
                                                                      return 1904;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxxxxx101111010x11x100110
                                                                         ucvtf.  */
                                                                      return 1906;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 23) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx1011111x0x01x100110
                                                                     fcvtzu.  */
                                                                  return 1372;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxxxx1011111x0x11x100110
                                                                     fcvtzu.  */
                                                                  return 1376;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxxx0001x100111
                                                         st1w.  */
                                                      return 1838;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxxx0011x100111
                                                         st1d.  */
                                                      return 1817;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxxx0101x100111
                                                         st1w.  */
                                                      return 1845;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxxx0111x100111
                                                         st1d.  */
                                                      return 1821;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx111xxxxx0xx1x100110
                                                 facgt.  */
                                              return 1335;
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx111xxxx00xx1x100111
                                                     st1w.  */
                                                  return 1846;
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx10001x100111
                                                             stnt1w.  */
                                                          return 1880;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx10011x100111
                                                             stnt1d.  */
                                                          return 1876;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx10101x100111
                                                             st3w.  */
                                                          return 1864;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx10111x100111
                                                             st3d.  */
                                                          return 1860;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 20) & 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
                                                                 xxxxxxxxxxxxxx01000001xx1x100100
                                                                 cntp.  */
                                                              return 1304;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 10) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 11) & 0x1) == 0)
                                                                    {
                                                                      if (((word >> 12) & 0x1) == 0)
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxx000x01000101xx1x100100
                                                                             sqincp.  */
                                                                          return 1795;
                                                                        }
                                                                      else
                                                                        {
                                                                          /* 33222222222211111111110000000000
                                                                             10987654321098765432109876543210
                                                                             xxxxxxxxxx001x01000101xx1x100100
                                                                             wrffr.  */
                                                                          return 1968;
                                                                        }
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx01xx01000101xx1x100100
                                                                         sqincp.  */
                                                                      return 1797;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx1xxx01000101xx1x100100
                                                                     sqincp.  */
                                                                  return 1796;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 11) & 0x1) == 0)
                                                            {
                                                              if (((word >> 12) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxx00x01001x01xx1x100100
                                                                     incp.  */
                                                                  return 1442;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxxx01x01001x01xx1x100100
                                                                     setffr.  */
                                                                  return 1762;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxx1xx01001x01xx1x100100
                                                                 incp.  */
                                                              return 1443;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 10) & 0x1) == 0)
                                                        {
                                                          if (((word >> 11) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00xx0101xx01xx1x100100
                                                                 sqdecp.  */
                                                              return 1781;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx01xx0101xx01xx1x100100
                                                                 sqdecp.  */
                                                              return 1783;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1xxx0101xx01xx1x100100
                                                             sqdecp.  */
                                                          return 1782;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 10) & 0x1) == 0)
                                                    {
                                                      if (((word >> 11) & 0x1) == 0)
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00xx01100x01xx1x100100
                                                                     uqincp.  */
                                                                  return 1943;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx00xx01101x01xx1x100100
                                                                     decp.  */
                                                                  return 1317;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx00xx0111xx01xx1x100100
                                                                 uqdecp.  */
                                                              return 1929;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 17) & 0x1) == 0)
                                                            {
                                                              if (((word >> 18) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01xx01100x01xx1x100100
                                                                     uqincp.  */
                                                                  return 1944;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx01xx01101x01xx1x100100
                                                                     decp.  */
                                                                  return 1318;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx01xx0111xx01xx1x100100
                                                                 uqdecp.  */
                                                              return 1930;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1xxx0110xx01xx1x100100
                                                             uqincp.  */
                                                          return 1945;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1xxx0111xx01xx1x100100
                                                             uqdecp.  */
                                                          return 1931;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx01xxxx01001x100101
                                                         ld1sh.  */
                                                      return 1535;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx01xxxx01011x100101
                                                         ld1sb.  */
                                                      return 1522;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx01xxxx01101x100101
                                                         ld1w.  */
                                                      return 1554;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx01xxxx01111x100101
                                                         ld1d.  */
                                                      return 1474;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxxx01xxxx11001x10010x
                                                     ldnf1sh.  */
                                                  return 1652;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxxx01xxxx11011x10010x
                                                     ldnf1sb.  */
                                                  return 1649;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxxx01xxxx11101x10010x
                                                     ldnf1w.  */
                                                  return 1655;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxxx01xxxx11111x10010x
                                                     ldnf1d.  */
                                                  return 1644;
                                                }
                                            }
                                        }
                                    }
                                  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
                                                                 xxxxxxxxxxxxxx11000001xx1x100100
                                                                 add.  */
                                                              return 1231;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxxx11000011xx1x100100
                                                                 mul.  */
                                                              return 1684;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxxx11000101xx1x100100
                                                                 smax.  */
                                                              return 1763;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxxx11000111xx1x100100
                                                                 dup.  */
                                                              return 1323;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx11001xx1xx1x100100
                                                         sqadd.  */
                                                      return 1772;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx11010xx1xx1x100100
                                                         smin.  */
                                                      return 1766;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx11011xx1xx1x100100
                                                         sqsub.  */
                                                      return 1802;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxxx111000x1xx1x100100
                                                             sub.  */
                                                          return 1884;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 20) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxxx11100101xx1x100100
                                                                 umax.  */
                                                              return 1912;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxxxxxx11100111xx1x100100
                                                                 fdup.  */
                                                              return 1379;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx11101xx1xx1x100100
                                                         uqadd.  */
                                                      return 1920;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxxx111100x1xx1x100100
                                                             subr.  */
                                                          return 1886;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxxx111101x1xx1x100100
                                                             umin.  */
                                                          return 1915;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxxx11111xx1xx1x100100
                                                         uqsub.  */
                                                      return 1950;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx1001x100101
                                                         ld2w.  */
                                                      return 1562;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx1011x100101
                                                         ld2d.  */
                                                      return 1558;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx1101x100101
                                                         ld4w.  */
                                                      return 1578;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx011xxxxx1111x100101
                                                         ld4d.  */
                                                      return 1574;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1001x100101
                                                         ld2w.  */
                                                      return 1563;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1011x100101
                                                         ld2d.  */
                                                      return 1559;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1101x100101
                                                         ld4w.  */
                                                      return 1579;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxxx1111x100101
                                                         ld4d.  */
                                                      return 1575;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 31) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx001xxxxx1xx1x100110
                                                 fmad.  */
                                              return 1381;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx011xxxxx1xx1x100110
                                                 fnmad.  */
                                              return 1411;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 22) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx1001x100111
                                                     st1w.  */
                                                  return 1839;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx0x1xxxxx1011x100111
                                                     st1d.  */
                                                  return 1818;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx0x1xxxxx11x1x100111
                                                 st1w.  */
                                              return 1844;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx101xxxxx1xx1x100110
                                                 fmsb.  */
                                              return 1402;
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxxx1001x100111
                                                         st1w.  */
                                                      return 1840;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx101xxxxx1011x100111
                                                         st1d.  */
                                                      return 1819;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxxxxx101xxxxx11x1x100111
                                                     st1w.  */
                                                  return 1847;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 31) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxxxx111xxxxx1xx1x100110
                                                 fnmsb.  */
                                              return 1414;
                                            }
                                          else
                                            {
                                              if (((word >> 20) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx01x01x100111
                                                         st1w.  */
                                                      return 1848;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxxxxx111xxxx01x11x100111
                                                         st1d.  */
                                                      return 1822;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 22) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx11001x100111
                                                             st2w.  */
                                                          return 1856;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx11011x100111
                                                             st2d.  */
                                                          return 1852;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx11101x100111
                                                             st4w.  */
                                                          return 1872;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxxxxx111xxxx11111x100111
                                                             st4d.  */
                                                          return 1868;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
          else
            {
              if (((word >> 29) & 0x1) == 0)
                {
                  if (((word >> 30) & 0x1) == 0)
                    {
                      if (((word >> 31) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxxxx101000
                             b.  */
                          return 630;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxxxx101001
                             bl.  */
                          return 631;
                        }
                    }
                  else
                    {
                      if (((word >> 24) & 0x1) == 0)
                        {
                          if (((word >> 4) & 0x1) == 0)
                            {
                              if (((word >> 25) & 0x1) == 0)
                                {
                                  if (((word >> 31) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxx0xxxxxxxxxxxxxxxxxxx00101010
                                         b.c.  */
                                      return 651;
                                    }
                                  else
                                    {
                                      if (((word >> 0) & 0x1) == 0)
                                        {
                                          if (((word >> 1) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     00xx0xxxxxxxxxxxxxxxx0xx00101011
                                                     hlt.  */
                                                  return 742;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     00xx0xxxxxxxxxxxxxxxx1xx00101011
                                                     brk.  */
                                                  return 741;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01xx0xxxxxxxxxxxxxxxx0xx00101011
                                                     hvc.  */
                                                  return 739;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     01xx0xxxxxxxxxxxxxxxx1xx00101011
                                                     dcps2.  */
                                                  return 744;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 1) & 0x1) == 0)
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     10xx0xxxxxxxxxxxxxxxx0xx00101011
                                                     svc.  */
                                                  return 738;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     10xx0xxxxxxxxxxxxxxxx1xx00101011
                                                     dcps1.  */
                                                  return 743;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 21) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11xx0xxxxxxxxxxxxxxxx0xx00101011
                                                     smc.  */
                                                  return 740;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     11xx0xxxxxxxxxxxxxxxx1xx00101011
                                                     dcps3.  */
                                                  return 745;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx0xxxxxxxxxxxxxxxx0000110101x
                                                 br.  */
                                              return 632;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx0xxxxxxxxxxxxxxxx0010110101x
                                                 eret.  */
                                              return 635;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx0xxxxxxxxxxxxxxxx01x0110101x
                                             ret.  */
                                          return 634;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx0xxxxxxxxxxxxxxxx1x00110101x
                                             blr.  */
                                          return 633;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx0xxxxxxxxxxxxxxxx1x10110101x
                                             drps.  */
                                          return 636;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxx0xxxxxxxxxx0000x10101x
                                                 braaz.  */
                                              return 641;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxx0xxxxxxxxxx0010x10101x
                                                 eretaa.  */
                                              return 647;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx1xxxxx0xxxxxxxxxx01x0x10101x
                                             retaa.  */
                                          return 645;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxx1xxxxx0xxxxxxxxxx1xx0x10101x
                                         blraaz.  */
                                      return 643;
                                    }
                                }
                              else
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      if (((word >> 22) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxx1xxxxxxxxxx0000x10101x
                                                 brabz.  */
                                              return 642;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxx1xxxxxxxxxx0010x10101x
                                                 eretab.  */
                                              return 648;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxx1xxxxx1xxxxxxxxxx01x0x10101x
                                             retab.  */
                                          return 646;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxx1xxxxx1xxxxxxxxxx1xx0x10101x
                                         blrabz.  */
                                      return 644;
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 21) & 0x1) == 0)
                            {
                              if (((word >> 25) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx0xx1010101x
                                     msr.  */
                                  return 1157;
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx0xxxxxxxxxx0xx1110101x
                                         braa.  */
                                      return 637;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1xxxxxxxxxx0xx1110101x
                                         brab.  */
                                      return 638;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 25) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxx1xx1010101x
                                     sysl.  */
                                  return 1182;
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx0xxxxxxxxxx1xx1110101x
                                         blraa.  */
                                      return 639;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1xxxxxxxxxx1xx1110101x
                                         blrab.  */
                                      return 640;
                                    }
                                }
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 24) & 0x1) == 0)
                    {
                      if (((word >> 25) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx001011xx
                             cbz.  */
                          return 649;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx011011xx
                             tbz.  */
                          return 1192;
                        }
                    }
                  else
                    {
                      if (((word >> 25) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx101011xx
                             cbnz.  */
                          return 650;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx111011xx
                             tbnz.  */
                          return 1193;
                        }
                    }
                }
            }
        }
      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
                                     xxxxxxxxxxxxxxxxxxxxxx00001100xx
                                     st4.  */
                                  return 434;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx00001101xx
                                     stnp.  */
                                  return 943;
                                }
                            }
                          else
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0xxxxxxx000101100xx
                                             st1.  */
                                          return 450;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0xxxxxxx100101100xx
                                             st2.  */
                                          return 452;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx1xxxxxxx000101100xx
                                             st3.  */
                                          return 451;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx1xxxxxxx100101100xx
                                             st4.  */
                                          return 453;
                                        }
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx00101101xx
                                     stp.  */
                                  return 947;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 21) & 0x1) == 0)
                                {
                                  if (((word >> 24) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxx001001100xx
                                         st4.  */
                                      return 442;
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0xxxxxxx001101100xx
                                             st1.  */
                                          return 462;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx1xxxxxxx001101100xx
                                             st3.  */
                                          return 463;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxx0xxxxxxx101x01100xx
                                         st2.  */
                                      return 464;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxx1xxxxxxx101x01100xx
                                         st4.  */
                                      return 465;
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxx01x01101xx
                                 stp.  */
                              return 952;
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 23) & 0x1) == 0)
                        {
                          if (((word >> 24) & 0x1) == 0)
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx10001100xx
                                     ld4.  */
                                  return 438;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx10001101xx
                                     ldnp.  */
                                  return 944;
                                }
                            }
                          else
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0xxxxxxx010101100xx
                                             ld1.  */
                                          return 454;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0xxxxxxx110101100xx
                                             ld2.  */
                                          return 458;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 21) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx1xxxxxxx010101100xx
                                             ld3.  */
                                          return 455;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx1xxxxxxx110101100xx
                                             ld4.  */
                                          return 459;
                                        }
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxxxxxxxxxxxxxx10101101xx
                                     ldp.  */
                                  return 948;
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 21) & 0x1) == 0)
                                {
                                  if (((word >> 24) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxxxxxxxx011001100xx
                                         ld4.  */
                                      return 446;
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx0xxxxxxx011101100xx
                                             ld1.  */
                                          return 466;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxx1xxxxxxx011101100xx
                                             ld3.  */
                                          return 467;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxx0xxxxxxx111x01100xx
                                         ld2.  */
                                      return 470;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxx1xxxxxxx111x01100xx
                                         ld4.  */
                                      return 471;
                                    }
                                }
                            }
                          else
                            {
                              /* 33222222222211111111110000000000
                                 10987654321098765432109876543210
                                 xxxxxxxxxxxxxxxxxxxxxx11x01101xx
                                 ldp.  */
                              return 953;
                            }
                        }
                    }
                }
              else
                {
                  if (((word >> 24) & 0x1) == 0)
                    {
                      if (((word >> 29) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxxxx001110xx
                             ldr.  */
                          return 956;
                        }
                      else
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx00xxxxxxxxxx0x001111xx
                                         stur.  */
                                      return 899;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx00xxxxxxxxxx1x001111xx
                                         ldur.  */
                                      return 900;
                                    }
                                }
                              else
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx01xxxxxxxxxx0x001111xx
                                         str.  */
                                      return 878;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx01xxxxxxxxxx1x001111xx
                                         ldr.  */
                                      return 879;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 22) & 0x1) == 0)
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxx1xxxxxxxxxxx0x001111xx
                                     str.  */
                                  return 855;
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxx1xxxxxxxxxxx1x001111xx
                                     ldr.  */
                                  return 856;
                                }
                            }
                        }
                    }
                  else
                    {
                      if (((word >> 22) & 0x1) == 0)
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
                             str.  */
                          return 866;
                        }
                      else
                        {
                          /* 33222222222211111111110000000000
                             10987654321098765432109876543210
                             xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
                             ldr.  */
                          return 867;
                        }
                    }
                }
            }
          else
            {
              if (((word >> 24) & 0x1) == 0)
                {
                  if (((word >> 21) & 0x1) == 0)
                    {
                      if (((word >> 28) & 0x1) == 0)
                        {
                          if (((word >> 10) & 0x1) == 0)
                            {
                              if (((word >> 29) & 0x1) == 0)
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx000xxxxxxxx0xx011100xx
                                             tbl.  */
                                          return 414;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx001xxxxxxxx0xx011100xx
                                             tbx.  */
                                          return 415;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx010x0xxxxxx0xx011100xx
                                                 trn1.  */
                                              return 257;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx010x1xxxxxx0xx011100xx
                                                 trn2.  */
                                              return 260;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01100xxxxxx0xx011100xx
                                                     uzp1.  */
                                                  return 256;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01101xxxxxx0xx011100xx
                                                     uzp2.  */
                                                  return 259;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01110xxxxxx0xx011100xx
                                                     zip1.  */
                                                  return 258;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx01111xxxxxx0xx011100xx
                                                     zip2.  */
                                                  return 261;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  /* 33222222222211111111110000000000
                                     10987654321098765432109876543210
                                     xxxxxxxxxx0xxxxxxxxxx0xx011101xx
                                     ext.  */
                                  return 130;
                                }
                            }
                          else
                            {
                              if (((word >> 15) & 0x1) == 0)
                                {
                                  if (((word >> 22) & 0x1) == 0)
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx10xxx0xxxxx00x011100xx
                                                 dup.  */
                                              return 147;
                                            }
                                          else
                                            {
                                              if (((word >> 12) & 0x1) == 0)
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1100x0xxxxx00x011100xx
                                                         dup.  */
                                                      return 148;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1101x0xxxxx00x011100xx
                                                         smov.  */
                                                      return 149;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 13) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1110x0xxxxx00x011100xx
                                                         ins.  */
                                                      return 152;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1111x0xxxxx00x011100xx
                                                         umov.  */
                                                      return 150;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx1xxxx0xxxxx00x011101xx
                                             ins.  */
                                          return 154;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1000x0xxxxx010011100xx
                                                             fmaxnm.  */
                                                          return 286;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1000x0xxxxx010011101xx
                                                             fmaxnmp.  */
                                                          return 337;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1000x0xxxxx011011100xx
                                                             fminnm.  */
                                                          return 302;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1000x0xxxxx011011101xx
                                                             fminnmp.  */
                                                          return 353;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1001x0xxxxx010011100xx
                                                             fcmeq.  */
                                                          return 294;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1001x0xxxxx010011101xx
                                                             fcmge.  */
                                                          return 343;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1001x0xxxxx01101110xxx
                                                         fcmgt.  */
                                                      return 357;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1010x0xxxxx010011100xx
                                                             fadd.  */
                                                          return 290;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1010x0xxxxx010011101xx
                                                             faddp.  */
                                                          return 339;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1010x0xxxxx011011100xx
                                                             fsub.  */
                                                          return 306;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1010x0xxxxx011011101xx
                                                             fabd.  */
                                                          return 355;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1011x0xxxxx010011100xx
                                                             fmax.  */
                                                          return 296;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1011x0xxxxx010011101xx
                                                             fmaxp.  */
                                                          return 347;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1011x0xxxxx011011100xx
                                                             fmin.  */
                                                          return 308;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1011x0xxxxx011011101xx
                                                             fminp.  */
                                                          return 361;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1100x0xxxxx01001110xxx
                                                         fmla.  */
                                                      return 288;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1100x0xxxxx01101110xxx
                                                         fmls.  */
                                                      return 304;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1101x0xxxxx01001110xxx
                                                         facge.  */
                                                      return 345;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1101x0xxxxx01101110xxx
                                                         facgt.  */
                                                      return 359;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1110x0xxxxx01x011100xx
                                                         fmulx.  */
                                                      return 292;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1110x0xxxxx01x011101xx
                                                         fmul.  */
                                                      return 341;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1111x0xxxxx010011100xx
                                                             frecps.  */
                                                          return 298;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx1111x0xxxxx010011101xx
                                                             fdiv.  */
                                                          return 349;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1111x0xxxxx01101110xxx
                                                         frsqrts.  */
                                                      return 310;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 11) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx10x001xxxxx0xx01110xxx
                                                 sqrdmlah.  */
                                              return 364;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx11x001xxxxx0xx01110xxx
                                                 sqrdmlsh.  */
                                              return 365;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx1xx011xxxxx0xx01110xxx
                                             fcmla.  */
                                          return 366;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1xx1x1xxxxx0xx01110xxx
                                         fcadd.  */
                                      return 367;
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 16) & 0x1) == 0)
                                    {
                                      if (((word >> 17) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxxx00xxx0xx0111100x
                                             fcvtzs.  */
                                          return 752;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxxx01xxx0xx0111100x
                                             scvtf.  */
                                          return 748;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 17) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxxx10xxx0xx0111100x
                                             fcvtzu.  */
                                          return 754;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxxxxxx11xxx0xx0111100x
                                             ucvtf.  */
                                          return 750;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x000xxxxxx0xx0111101x
                                                     sha1c.  */
                                                  return 672;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x001xxxxxx0xx0111101x
                                                     sha256h.  */
                                                  return 676;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x010xxxxxx0xx0111101x
                                                     sha1m.  */
                                                  return 674;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x011xxxxxx0xx0111101x
                                                     sha256su1.  */
                                                  return 678;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x100xxxxxx0xx0111101x
                                                     sha1p.  */
                                                  return 673;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x101xxxxxx0xx0111101x
                                                     sha256h2.  */
                                                  return 677;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x11xxxxxxx0xx0111101x
                                                 sha1su0.  */
                                              return 675;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx10x0xxxxxxx0xx0111101x
                                                 dup.  */
                                              return 529;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx10x1xxxxxxx0xx0111101x
                                                 fcmeq.  */
                                              return 550;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx11x0xxxxxxx0xx0111101x
                                                 fmulx.  */
                                              return 548;
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx11x1xxxxxxx0x00111101x
                                                     frecps.  */
                                                  return 552;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx11x1xxxxxxx0x10111101x
                                                     frsqrts.  */
                                                  return 554;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxx000xxxxxxx0xx011111xx
                                             sqrdmlah.  */
                                          return 582;
                                        }
                                      else
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxx001xxxxxxx0x0011111xx
                                                 fcmge.  */
                                              return 567;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxxx001xxxxxxx0x1011111xx
                                                 fcmgt.  */
                                              return 573;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxx01xxxxxxxx0xx011111xx
                                         fabd.  */
                                      return 571;
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxx1x0xxxxxxx0xx011111xx
                                         sqrdmlsh.  */
                                      return 583;
                                    }
                                  else
                                    {
                                      if (((word >> 23) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxx1x1xxxxxxx0x0011111xx
                                             facge.  */
                                          return 569;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxx1x1xxxxxxx0x1011111xx
                                             facgt.  */
                                          return 575;
                                        }
                                    }
                                }
                            }
                        }
                    }
                  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 >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000000xxxxx1xx0111000x
                                                             saddl.  */
                                                          return 42;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000000xxxxx1xx0111001x
                                                             saddl2.  */
                                                          return 43;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000000xxxxx1xx0111010x
                                                             uaddl.  */
                                                          return 74;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000000xxxxx1xx0111011x
                                                             uaddl2.  */
                                                          return 75;
                                                        }
                                                    }
                                                }
                                              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
                                                                         xxxxxxxxxx000000000001xx01111xxx
                                                                         fcvtns.  */
                                                                      return 756;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000000011xx01111xxx
                                                                         fcvtms.  */
                                                                      return 776;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000000101xx01111xxx
                                                                         fcvtps.  */
                                                                      return 772;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000000111xx01111xxx
                                                                         fcvtzs.  */
                                                                      return 780;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000000001xx1xx01111xxx
                                                                 fcvtas.  */
                                                              return 764;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000000010xx1xx01111xxx
                                                                 scvtf.  */
                                                              return 760;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0000000110x1xx01111xxx
                                                                     fmov.  */
                                                                  return 768;
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000011101xx01111xxx
                                                                         fmov.  */
                                                                      return 784;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000011111xx01111xxx
                                                                         fjcvtzs.  */
                                                                      return 786;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 17) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000100001xx01111xxx
                                                                         fcvtnu.  */
                                                                      return 758;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000100011xx01111xxx
                                                                         fcvtmu.  */
                                                                      return 778;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 20) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000100101xx01111xxx
                                                                         fcvtpu.  */
                                                                      return 774;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx000000100111xx01111xxx
                                                                         fcvtzu.  */
                                                                      return 782;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000000101xx1xx01111xxx
                                                                 fcvtau.  */
                                                              return 766;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000000110xx1xx01111xxx
                                                                 ucvtf.  */
                                                              return 762;
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 19) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0000001110x1xx01111xxx
                                                                     fmov.  */
                                                                  return 770;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0000001111x1xx01111xxx
                                                                     fmov.  */
                                                                  return 785;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000001xxxxx1xx0111x00x
                                                         smlal.  */
                                                      return 58;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000001xxxxx1xx0111x01x
                                                         smlal2.  */
                                                      return 59;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000001xxxxx1xx0111x10x
                                                         umlal.  */
                                                      return 90;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000001xxxxx1xx0111x11x
                                                         umlal2.  */
                                                      return 91;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 28) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000010xxxxx1xx0111000x
                                                             addhn.  */
                                                          return 50;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000010xxxxx1xx0111001x
                                                             addhn2.  */
                                                          return 51;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000010xxxxx1xx0111010x
                                                             raddhn.  */
                                                          return 82;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000010xxxxx1xx0111011x
                                                             raddhn2.  */
                                                          return 83;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000011xxxxx1xx0111000x
                                                             smull.  */
                                                          return 66;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000011xxxxx1xx0111001x
                                                             smull2.  */
                                                          return 67;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000011xxxxx1xx0111010x
                                                             umull.  */
                                                          return 94;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000011xxxxx1xx0111011x
                                                             umull2.  */
                                                          return 95;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 17) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000010000xx1xx01111xxx
                                                                 fmov.  */
                                                              return 799;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000010001xx1xx01111xxx
                                                                 frintn.  */
                                                              return 808;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000010100xx1xx01111xxx
                                                                 fneg.  */
                                                              return 803;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000010101xx1xx01111xxx
                                                                 frintm.  */
                                                              return 812;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 16) & 0x1) == 0)
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000011000xx1xx01111xxx
                                                                 fabs.  */
                                                              return 801;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000011001xx1xx01111xxx
                                                                 frintp.  */
                                                              return 810;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 18) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000011100xx1xx01111xxx
                                                                 fsqrt.  */
                                                              return 805;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000011101xx1xx01111xxx
                                                                 frintz.  */
                                                              return 814;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 18) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00001xx10xx1xx01111xxx
                                                         fcvt.  */
                                                      return 807;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          if (((word >> 16) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000010011xx1xx01111xxx
                                                                 frinta.  */
                                                              return 816;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx000010111xx1xx01111xxx
                                                                 frintx.  */
                                                              return 818;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000011x11xx1xx01111xxx
                                                             frinti.  */
                                                          return 820;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000100xxxxx1xx0111000x
                                                             ssubl.  */
                                                          return 46;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000100xxxxx1xx0111001x
                                                             ssubl2.  */
                                                          return 47;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000100xxxxx1xx0111010x
                                                             usubl.  */
                                                          return 78;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx000100xxxxx1xx0111011x
                                                             usubl2.  */
                                                          return 79;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 3) & 0x1) == 0)
                                                    {
                                                      if (((word >> 4) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx00xxxxx000100xxxxx1xx01111xxx
                                                             fcmp.  */
                                                          return 791;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx01xxxxx000100xxxxx1xx01111xxx
                                                             fcmpe.  */
                                                          return 793;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 4) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx10xxxxx000100xxxxx1xx01111xxx
                                                             fcmp.  */
                                                          return 795;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxx11xxxxx000100xxxxx1xx01111xxx
                                                             fcmpe.  */
                                                          return 797;
                                                        }
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000101xxxxx1xx0111x00x
                                                         smlsl.  */
                                                      return 62;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000101xxxxx1xx0111x01x
                                                         smlsl2.  */
                                                      return 63;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000101xxxxx1xx0111x10x
                                                         umlsl.  */
                                                      return 92;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000101xxxxx1xx0111x11x
                                                         umlsl2.  */
                                                      return 93;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000110xxxxx1xx0111x00x
                                                         subhn.  */
                                                      return 54;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000110xxxxx1xx0111x01x
                                                         subhn2.  */
                                                      return 55;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000110xxxxx1xx0111x10x
                                                         rsubhn.  */
                                                      return 86;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000110xxxxx1xx0111x11x
                                                         rsubhn2.  */
                                                      return 87;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 22) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000111xxxxx10x0111xx0x
                                                         pmull.  */
                                                      return 70;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000111xxxxx10x0111xx1x
                                                         pmull2.  */
                                                      return 72;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000111xxxxx11x0111xx0x
                                                         pmull.  */
                                                      return 71;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx000111xxxxx11x0111xx1x
                                                         pmull2.  */
                                                      return 73;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 28) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001000xxxxx1xx0111000x
                                                             saddw.  */
                                                          return 44;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001000xxxxx1xx0111001x
                                                             saddw2.  */
                                                          return 45;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001000xxxxx1xx0111010x
                                                             uaddw.  */
                                                          return 76;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001000xxxxx1xx0111011x
                                                             uaddw2.  */
                                                          return 77;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx001001xxxxx1xx01110x0x
                                                         sqdmlal.  */
                                                      return 60;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx001001xxxxx1xx01110x1x
                                                         sqdmlal2.  */
                                                      return 61;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001010xxxxx1xx0111000x
                                                             sabal.  */
                                                          return 52;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001010xxxxx1xx0111001x
                                                             sabal2.  */
                                                          return 53;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001010xxxxx1xx0111010x
                                                             uabal.  */
                                                          return 84;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001010xxxxx1xx0111011x
                                                             uabal2.  */
                                                          return 85;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx001011xxxxx1xx01110x0x
                                                         sqdmull.  */
                                                      return 68;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx001011xxxxx1xx01110x1x
                                                         sqdmull2.  */
                                                      return 69;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001100xxxxx1xx0111000x
                                                             ssubw.  */
                                                          return 48;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001100xxxxx1xx0111001x
                                                             ssubw2.  */
                                                          return 49;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001100xxxxx1xx0111010x
                                                             usubw.  */
                                                          return 80;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx001100xxxxx1xx0111011x
                                                             usubw2.  */
                                                          return 81;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx001101xxxxx1xx01110x0x
                                                         sqdmlsl.  */
                                                      return 64;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx001101xxxxx1xx01110x1x
                                                         sqdmlsl2.  */
                                                      return 65;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00111xxxxxx1xx0111000x
                                                         sabdl.  */
                                                      return 56;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00111xxxxxx1xx0111001x
                                                         sabdl2.  */
                                                      return 57;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00111xxxxxx1xx0111010x
                                                         uabdl.  */
                                                      return 88;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx00111xxxxxx1xx0111011x
                                                         uabdl2.  */
                                                      return 89;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx001xxxxxxxx1xx01111x0x
                                             fmov.  */
                                          return 848;
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00100xxxxxx1xx01111x1x
                                                     sqdmlal.  */
                                                  return 416;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx00101xxxxxx1xx01111x1x
                                                     sqdmull.  */
                                                  return 418;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0011xxxxxxx1xx01111x1x
                                                 sqdmlsl.  */
                                              return 417;
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 12) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010000xxxxx1xx011100xx
                                                         rev64.  */
                                                      return 156;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010000xxxxx1xx011101xx
                                                         rev32.  */
                                                      return 207;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010000xxxxx1xx01111x0x
                                                         fmul.  */
                                                      return 822;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010000xxxxx1xx01111x1x
                                                         sha1h.  */
                                                      return 669;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0100010xxxx1xx011100xx
                                                             cmgt.  */
                                                          return 164;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0100010xxxx1xx011101xx
                                                             cmge.  */
                                                          return 213;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100011xx0x1x0011100xx
                                                                     frintn.  */
                                                                  return 176;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100011xx0x1x0011101xx
                                                                     frinta.  */
                                                                  return 224;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100011xx0x1x101110xxx
                                                                 frintp.  */
                                                              return 196;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100011xx1x1x0011100xx
                                                                     frintn.  */
                                                                  return 177;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100011xx1x1x0011101xx
                                                                     frinta.  */
                                                                  return 225;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100011xx1x1x101110xxx
                                                                 frintp.  */
                                                              return 197;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx010001xxxxx1xx0111100x
                                                             fnmul.  */
                                                          return 838;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx010001xxxxx1xx0111101x
                                                             cmgt.  */
                                                          return 476;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010001xxxxx1xx011111xx
                                                         cmge.  */
                                                      return 505;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100100xx0x1xx011100xx
                                                                 cls.  */
                                                              return 160;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100100xx0x1xx011101xx
                                                                 clz.  */
                                                              return 210;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0100100xx1x1xx01110xxx
                                                             aese.  */
                                                          return 665;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100101xxxx1xx0111000x
                                                                 sqxtn.  */
                                                              return 170;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100101xxxx1xx0111001x
                                                                 sqxtn2.  */
                                                              return 171;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100101xxxx1xx0111010x
                                                                 uqxtn.  */
                                                              return 220;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100101xxxx1xx0111011x
                                                                 uqxtn2.  */
                                                              return 221;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx010010xxxxx1xx0111100x
                                                             fmax.  */
                                                          return 830;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx010010xxxxx1xx0111101x
                                                             sqxtn.  */
                                                          return 480;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010010xxxxx1xx011111xx
                                                         uqxtn.  */
                                                      return 509;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100110xx001xx011100xx
                                                                     fcmgt.  */
                                                                  return 188;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100110xx001xx011101xx
                                                                     fcmge.  */
                                                                  return 239;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100110xx001xx011110xx
                                                                     fcmgt.  */
                                                                  return 489;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100110xx001xx011111xx
                                                                     fcmge.  */
                                                                  return 519;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x0011100xx
                                                                         fmaxnmv.  */
                                                                      return 35;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x0011101xx
                                                                         fmaxnmv.  */
                                                                      return 34;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x0011110xx
                                                                         fmaxnmp.  */
                                                                      return 533;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x0011111xx
                                                                         fmaxnmp.  */
                                                                      return 532;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x1011100xx
                                                                         fminnmv.  */
                                                                      return 39;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x1011101xx
                                                                         fminnmv.  */
                                                                      return 38;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x1011110xx
                                                                         fminnmp.  */
                                                                      return 539;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0100110xx011x1011111xx
                                                                         fminnmp.  */
                                                                      return 538;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 28) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100110xx1x1xx011100xx
                                                                 fcmgt.  */
                                                              return 189;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100110xx1x1xx011101xx
                                                                 fcmge.  */
                                                              return 240;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100110xx1x1xx011110xx
                                                                 fcmgt.  */
                                                              return 490;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100110xx1x1xx011111xx
                                                                 fcmge.  */
                                                              return 520;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100111xx0x1x0011100xx
                                                                     fcvtas.  */
                                                                  return 184;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100111xx0x1x0011101xx
                                                                     fcvtau.  */
                                                                  return 232;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100111xx0x1x0011110xx
                                                                     fcvtas.  */
                                                                  return 485;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0100111xx0x1x0011111xx
                                                                     fcvtau.  */
                                                                  return 515;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100111xx0x1x10111x0xx
                                                                 urecpe.  */
                                                              return 204;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100111xx0x1x10111x1xx
                                                                 ursqrte.  */
                                                              return 251;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 28) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100111xx1x1xx011100xx
                                                                 fcvtas.  */
                                                              return 185;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100111xx1x1xx011101xx
                                                                 fcvtau.  */
                                                              return 233;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100111xx1x1xx011110xx
                                                                 fcvtas.  */
                                                              return 486;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0100111xx1x1xx011111xx
                                                                 fcvtau.  */
                                                              return 516;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0101000xxxx1xx011100xx
                                                             saddlp.  */
                                                          return 158;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0101000xxxx1xx011101xx
                                                             uaddlp.  */
                                                          return 208;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101001xxxx1xx0111000x
                                                                 xtn.  */
                                                              return 168;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101001xxxx1xx0111001x
                                                                 xtn2.  */
                                                              return 169;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101001xxxx1xx0111010x
                                                                 sqxtun.  */
                                                              return 216;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101001xxxx1xx0111011x
                                                                 sqxtun2.  */
                                                              return 217;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx010100xxxxx1xx0111100x
                                                             fadd.  */
                                                          return 826;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx010100xxxxx1xx0111101x
                                                             sha256su0.  */
                                                          return 671;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010100xxxxx1xx011111xx
                                                         sqxtun.  */
                                                      return 508;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 20) & 0x1) == 0)
                                                    {
                                                      if (((word >> 28) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0101010xxx01xx01110xxx
                                                             cmlt.  */
                                                          return 166;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0101010xxx01xx01111xxx
                                                             cmlt.  */
                                                          return 478;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0101010xxx11xx0111x0xx
                                                             smaxv.  */
                                                          return 28;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0101010xxx11xx0111x1xx
                                                             umaxv.  */
                                                          return 32;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x0011100xx
                                                                         fcvtns.  */
                                                                      return 180;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x0011101xx
                                                                         fcvtnu.  */
                                                                      return 228;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x0011110xx
                                                                         fcvtns.  */
                                                                      return 481;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x0011111xx
                                                                         fcvtnu.  */
                                                                      return 511;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x1011100xx
                                                                         fcvtps.  */
                                                                      return 200;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x1011101xx
                                                                         fcvtpu.  */
                                                                      return 247;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x1011110xx
                                                                         fcvtps.  */
                                                                      return 495;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0101011xx001x1011111xx
                                                                         fcvtpu.  */
                                                                      return 523;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101011xx011xx0111x0xx
                                                                 sminv.  */
                                                              return 29;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101011xx011xx0111x1xx
                                                                 uminv.  */
                                                              return 33;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x0011100xx
                                                                     fcvtns.  */
                                                                  return 181;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x0011101xx
                                                                     fcvtnu.  */
                                                                  return 229;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x0011110xx
                                                                     fcvtns.  */
                                                                  return 482;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x0011111xx
                                                                     fcvtnu.  */
                                                                  return 512;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x1011100xx
                                                                     fcvtps.  */
                                                                  return 201;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x1011101xx
                                                                     fcvtpu.  */
                                                                  return 248;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x1011110xx
                                                                     fcvtps.  */
                                                                  return 496;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0101011xx1x1x1011111xx
                                                                     fcvtpu.  */
                                                                  return 524;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101100xx0x1xx011100xx
                                                                 sadalp.  */
                                                              return 162;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101100xx0x1xx011101xx
                                                                 uadalp.  */
                                                              return 211;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0101100xx1x1xx01110xxx
                                                             aesmc.  */
                                                          return 667;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101101xxxx1xx0111000x
                                                                 fcvtn.  */
                                                              return 172;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101101xxxx1xx0111001x
                                                                 fcvtn2.  */
                                                              return 173;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 30) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101101xxxx1xx0111010x
                                                                 fcvtxn.  */
                                                              return 222;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0101101xxxx1xx0111011x
                                                                 fcvtxn2.  */
                                                              return 223;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010110xxxxx1xx011110xx
                                                         fmaxnm.  */
                                                      return 834;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010110xxxxx1xx011111xx
                                                         fcvtxn.  */
                                                      return 510;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 19) & 0x1) == 0)
                                                {
                                                  if (((word >> 28) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010111xxx0x1xx01110xxx
                                                         fcmlt.  */
                                                      return 192;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010111xxx0x1xx01111xxx
                                                         fcmlt.  */
                                                      return 493;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 28) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010111xxx1x1xx01110xxx
                                                         fcmlt.  */
                                                      return 193;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx010111xxx1x1xx01111xxx
                                                         fcmlt.  */
                                                      return 494;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx011000xxxxx1xx01110xxx
                                                     rev16.  */
                                                  return 157;
                                                }
                                              else
                                                {
                                                  if (((word >> 30) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx011000xxxxx1xx01111x0x
                                                         fdiv.  */
                                                      return 824;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx011000xxxxx1xx01111x1x
                                                         sha1su1.  */
                                                      return 670;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 28) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0110010xxxx1xx011100xx
                                                             cmeq.  */
                                                          return 165;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0110010xxxx1xx011101xx
                                                             cmle.  */
                                                          return 214;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0110010xxxx1xx011110xx
                                                             cmeq.  */
                                                          return 477;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0110010xxxx1xx011111xx
                                                             cmle.  */
                                                          return 506;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx0x1x00111x0xx
                                                                 frintm.  */
                                                              return 178;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx0x1x00111x1xx
                                                                 frintx.  */
                                                              return 226;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx0x1x10111x0xx
                                                                 frintz.  */
                                                              return 198;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx0x1x10111x1xx
                                                                 frinti.  */
                                                              return 245;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx1x1x00111x0xx
                                                                 frintm.  */
                                                              return 179;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx1x1x00111x1xx
                                                                 frintx.  */
                                                              return 227;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx1x1x10111x0xx
                                                                 frintz.  */
                                                              return 199;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110011xx1x1x10111x1xx
                                                                 frinti.  */
                                                              return 246;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx011010xxx0x1xx011100xx
                                                             cnt.  */
                                                          return 161;
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 22) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx011010xxx0x10x011101xx
                                                                 not.  */
                                                              return 236;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx011010xxx0x11x011101xx
                                                                 rbit.  */
                                                              return 238;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx011010xxx1x1xx01110xxx
                                                         aesd.  */
                                                      return 666;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx011010xxxxx1xx01111xxx
                                                     fmin.  */
                                                  return 832;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110110xx001xx011100xx
                                                                     fcmeq.  */
                                                                  return 190;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110110xx001xx011101xx
                                                                     fcmle.  */
                                                                  return 241;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110110xx001xx011110xx
                                                                     fcmeq.  */
                                                                  return 491;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110110xx001xx011111xx
                                                                     fcmle.  */
                                                                  return 521;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110110xx011xx0111x0xx
                                                                 faddp.  */
                                                              return 535;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110110xx011xx0111x1xx
                                                                 faddp.  */
                                                              return 534;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 28) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110110xx1x1xx011100xx
                                                                 fcmeq.  */
                                                              return 191;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110110xx1x1xx011101xx
                                                                 fcmle.  */
                                                              return 242;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110110xx1x1xx011110xx
                                                                 fcmeq.  */
                                                              return 492;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0110110xx1x1xx011111xx
                                                                 fcmle.  */
                                                              return 522;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x0011100xx
                                                                     scvtf.  */
                                                                  return 186;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x0011101xx
                                                                     ucvtf.  */
                                                                  return 234;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x0011110xx
                                                                     scvtf.  */
                                                                  return 487;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x0011111xx
                                                                     ucvtf.  */
                                                                  return 517;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x1011100xx
                                                                     frecpe.  */
                                                                  return 205;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x1011101xx
                                                                     frsqrte.  */
                                                                  return 252;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x1011110xx
                                                                     frecpe.  */
                                                                  return 499;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx0x1x1011111xx
                                                                     frsqrte.  */
                                                                  return 527;
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x0011100xx
                                                                     scvtf.  */
                                                                  return 187;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x0011101xx
                                                                     ucvtf.  */
                                                                  return 235;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x0011110xx
                                                                     scvtf.  */
                                                                  return 488;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x0011111xx
                                                                     ucvtf.  */
                                                                  return 518;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x1011100xx
                                                                     frecpe.  */
                                                                  return 206;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x1011101xx
                                                                     frsqrte.  */
                                                                  return 253;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x1011110xx
                                                                     frecpe.  */
                                                                  return 500;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0110111xx1x1x1011111xx
                                                                     frsqrte.  */
                                                                  return 528;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111000xxx01xx011100xx
                                                                 suqadd.  */
                                                              return 159;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111000xxx01xx011101xx
                                                                 usqadd.  */
                                                              return 209;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111000xxx11xx011100xx
                                                                 saddlv.  */
                                                              return 27;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111000xxx11xx011101xx
                                                                 uaddlv.  */
                                                              return 31;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111001xxxx1xx01110x0x
                                                             shll.  */
                                                          return 218;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111001xxxx1xx01110x1x
                                                             shll2.  */
                                                          return 219;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx011100xxxxx1xx0111100x
                                                             fsub.  */
                                                          return 828;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx011100xxxxx1xx0111101x
                                                             suqadd.  */
                                                          return 474;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx011100xxxxx1xx011111xx
                                                         usqadd.  */
                                                      return 503;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 28) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111010xxxx1xx011100xx
                                                             abs.  */
                                                          return 167;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111010xxxx1xx011101xx
                                                             neg.  */
                                                          return 215;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111010xxxx1xx011110xx
                                                             abs.  */
                                                          return 479;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111010xxxx1xx011111xx
                                                             neg.  */
                                                          return 507;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x0011100xx
                                                                         fcvtms.  */
                                                                      return 182;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x0011101xx
                                                                         fcvtmu.  */
                                                                      return 230;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x0011110xx
                                                                         fcvtms.  */
                                                                      return 483;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x0011111xx
                                                                         fcvtmu.  */
                                                                      return 513;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x1011100xx
                                                                         fcvtzs.  */
                                                                      return 202;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x1011101xx
                                                                         fcvtzu.  */
                                                                      return 249;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x1011110xx
                                                                         fcvtzs.  */
                                                                      return 497;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111011xx001x1011111xx
                                                                         fcvtzu.  */
                                                                      return 525;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111011xx011xx01110xxx
                                                                 addv.  */
                                                              return 30;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111011xx011xx01111xxx
                                                                 addp.  */
                                                              return 531;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x0011100xx
                                                                     fcvtms.  */
                                                                  return 183;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x0011101xx
                                                                     fcvtmu.  */
                                                                  return 231;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x0011110xx
                                                                     fcvtms.  */
                                                                  return 484;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x0011111xx
                                                                     fcvtmu.  */
                                                                  return 514;
                                                                }
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 28) & 0x1) == 0)
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x1011100xx
                                                                     fcvtzs.  */
                                                                  return 203;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x1011101xx
                                                                     fcvtzu.  */
                                                                  return 250;
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 29) & 0x1) == 0)
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x1011110xx
                                                                     fcvtzs.  */
                                                                  return 498;
                                                                }
                                                              else
                                                                {
                                                                  /* 33222222222211111111110000000000
                                                                     10987654321098765432109876543210
                                                                     xxxxxxxxxx0111011xx1x1x1011111xx
                                                                     fcvtzu.  */
                                                                  return 526;
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 15) & 0x1) == 0)
                                            {
                                              if (((word >> 28) & 0x1) == 0)
                                                {
                                                  if (((word >> 16) & 0x1) == 0)
                                                    {
                                                      if (((word >> 19) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111100xx0x1xx011100xx
                                                                 sqabs.  */
                                                              return 163;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111100xx0x1xx011101xx
                                                                 sqneg.  */
                                                              return 212;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111100xx1x1xx01110xxx
                                                             aesimc.  */
                                                          return 668;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111101xxxx1xx01110x0x
                                                             fcvtl.  */
                                                          return 174;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111101xxxx1xx01110x1x
                                                             fcvtl2.  */
                                                          return 175;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      if (((word >> 30) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx011110xxxxx1xx0111100x
                                                             fminnm.  */
                                                          return 836;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx011110xxxxx1xx0111101x
                                                             sqabs.  */
                                                          return 475;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx011110xxxxx1xx011111xx
                                                         sqneg.  */
                                                      return 504;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 16) & 0x1) == 0)
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 20) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111110xx001xx0111x0xx
                                                                 fabs.  */
                                                              return 194;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx0111110xx001xx0111x1xx
                                                                 fneg.  */
                                                              return 243;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 23) & 0x1) == 0)
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x0011100xx
                                                                         fmaxv.  */
                                                                      return 37;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x0011101xx
                                                                         fmaxv.  */
                                                                      return 36;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x0011110xx
                                                                         fmaxp.  */
                                                                      return 537;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x0011111xx
                                                                         fmaxp.  */
                                                                      return 536;
                                                                    }
                                                                }
                                                            }
                                                          else
                                                            {
                                                              if (((word >> 28) & 0x1) == 0)
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x1011100xx
                                                                         fminv.  */
                                                                      return 41;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x1011101xx
                                                                         fminv.  */
                                                                      return 40;
                                                                    }
                                                                }
                                                              else
                                                                {
                                                                  if (((word >> 29) & 0x1) == 0)
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x1011110xx
                                                                         fminp.  */
                                                                      return 541;
                                                                    }
                                                                  else
                                                                    {
                                                                      /* 33222222222211111111110000000000
                                                                         10987654321098765432109876543210
                                                                         xxxxxxxxxx0111110xx011x1011111xx
                                                                         fminp.  */
                                                                      return 540;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111110xx1x1xx0111x0xx
                                                             fabs.  */
                                                          return 195;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111110xx1x1xx0111x1xx
                                                             fneg.  */
                                                          return 244;
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 19) & 0x1) == 0)
                                                    {
                                                      if (((word >> 28) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111111xx0x1xx01110xxx
                                                             fsqrt.  */
                                                          return 254;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111111xx0x1xx01111xxx
                                                             frecpx.  */
                                                          return 501;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 28) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111111xx1x1xx01110xxx
                                                             fsqrt.  */
                                                          return 255;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx0111111xx1x1xx01111xxx
                                                             frecpx.  */
                                                          return 502;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 11) & 0x1) == 0)
                            {
                              if (((word >> 28) & 0x1) == 0)
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100000xxxxx1xx011100xx
                                                         shadd.  */
                                                      return 262;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100000xxxxx1xx011101xx
                                                         uhadd.  */
                                                      return 314;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100001xxxxx1xx011100xx
                                                         add.  */
                                                      return 277;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100001xxxxx1xx011101xx
                                                         sub.  */
                                                      return 329;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100010xxxxx1xx011100xx
                                                         sshl.  */
                                                      return 269;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100010xxxxx1xx011101xx
                                                         ushl.  */
                                                      return 321;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100011xxxxx1x0011100xx
                                                             fmaxnm.  */
                                                          return 285;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100011xxxxx1x0011101xx
                                                             fmaxnmp.  */
                                                          return 336;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100011xxxxx1x1011100xx
                                                             fminnm.  */
                                                          return 301;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100011xxxxx1x1011101xx
                                                             fminnmp.  */
                                                          return 352;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100100xxxxx1xx011100xx
                                                         shsub.  */
                                                      return 265;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100100xxxxx1xx011101xx
                                                         uhsub.  */
                                                      return 317;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100101xxxxx1xx011100xx
                                                         smaxp.  */
                                                      return 281;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100101xxxxx1xx011101xx
                                                         umaxp.  */
                                                      return 333;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100110xxxxx1xx011100xx
                                                         smax.  */
                                                      return 273;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100110xxxxx1xx011101xx
                                                         umax.  */
                                                      return 325;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100111xxxxx1x0011100xx
                                                             fcmeq.  */
                                                          return 293;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx100111xxxxx1x0011101xx
                                                             fcmge.  */
                                                          return 342;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx100111xxxxx1x101110xxx
                                                         fcmgt.  */
                                                      return 356;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101000xxxxx1xx011100xx
                                                         srhadd.  */
                                                      return 264;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101000xxxxx1xx011101xx
                                                         urhadd.  */
                                                      return 316;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101001xxxxx1xx011100xx
                                                         mla.  */
                                                      return 279;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101001xxxxx1xx011101xx
                                                         mls.  */
                                                      return 331;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101010xxxxx1xx011100xx
                                                         srshl.  */
                                                      return 271;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101010xxxxx1xx011101xx
                                                         urshl.  */
                                                      return 323;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101011xxxxx1x0011100xx
                                                             fadd.  */
                                                          return 289;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101011xxxxx1x0011101xx
                                                             faddp.  */
                                                          return 338;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101011xxxxx1x1011100xx
                                                             fsub.  */
                                                          return 305;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101011xxxxx1x1011101xx
                                                             fabd.  */
                                                          return 354;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101100xxxxx1xx011100xx
                                                         cmgt.  */
                                                      return 267;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101100xxxxx1xx011101xx
                                                         cmhi.  */
                                                      return 319;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101101xxxxx1xx011100xx
                                                         sqdmulh.  */
                                                      return 283;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101101xxxxx1xx011101xx
                                                         sqrdmulh.  */
                                                      return 335;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101110xxxxx1xx011100xx
                                                         sabd.  */
                                                      return 275;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx101110xxxxx1xx011101xx
                                                         uabd.  */
                                                      return 327;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101111xxxxx1x0011100xx
                                                             fmax.  */
                                                          return 295;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101111xxxxx1x0011101xx
                                                             fmaxp.  */
                                                          return 346;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101111xxxxx1x1011100xx
                                                             fmin.  */
                                                          return 307;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx101111xxxxx1x1011101xx
                                                             fminp.  */
                                                          return 360;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          if (((word >> 4) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx0xxxxx10xxxxxxxxx1xx0111100x
                                                 fccmp.  */
                                              return 787;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxx1xxxxx10xxxxxxxxx1xx0111100x
                                                 fccmpe.  */
                                              return 789;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10000xxxxxx1xx0111101x
                                                         add.  */
                                                      return 559;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx10001xxxxxx1xx0111101x
                                                         sshl.  */
                                                      return 557;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1001xxxxxxx1xx0111101x
                                                     fcmeq.  */
                                                  return 549;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1010xxxxxxx1xx0111101x
                                                     srshl.  */
                                                  return 558;
                                                }
                                              else
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1011x0xxxxx1xx0111101x
                                                         cmgt.  */
                                                      return 555;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1011x1xxxxx1xx0111101x
                                                         sqdmulh.  */
                                                      return 546;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx10000xxxxxx1xx011111xx
                                                     sub.  */
                                                  return 580;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx10001xxxxxx1xx011111xx
                                                     ushl.  */
                                                  return 578;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1001xxxxxxx1x0011111xx
                                                     fcmge.  */
                                                  return 566;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1001xxxxxxx1x1011111xx
                                                     fcmgt.  */
                                                  return 572;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1010x0xxxxx1xx011111xx
                                                     urshl.  */
                                                  return 579;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1010x1xxxxx1xx011111xx
                                                     fabd.  */
                                                  return 570;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1011x0xxxxx1xx011111xx
                                                     cmhi.  */
                                                  return 576;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1011x1xxxxx1xx011111xx
                                                     sqrdmulh.  */
                                                  return 565;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 28) & 0x1) == 0)
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110000xxxxx1xx011100xx
                                                         sqadd.  */
                                                      return 263;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110000xxxxx1xx011101xx
                                                         uqadd.  */
                                                      return 315;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110001xxxxx1xx011100xx
                                                         cmtst.  */
                                                      return 278;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110001xxxxx1xx011101xx
                                                         cmeq.  */
                                                      return 330;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110010xxxxx1xx011100xx
                                                         sqshl.  */
                                                      return 270;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110010xxxxx1xx011101xx
                                                         uqshl.  */
                                                      return 322;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110011xxxxx1x001110xxx
                                                         fmla.  */
                                                      return 287;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110011xxxxx1x101110xxx
                                                         fmls.  */
                                                      return 303;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110100xxxxx1xx011100xx
                                                         sqsub.  */
                                                      return 266;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110100xxxxx1xx011101xx
                                                         uqsub.  */
                                                      return 318;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110101xxxxx1xx011100xx
                                                         sminp.  */
                                                      return 282;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110101xxxxx1xx011101xx
                                                         uminp.  */
                                                      return 334;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110110xxxxx1xx011100xx
                                                         smin.  */
                                                      return 274;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110110xxxxx1xx011101xx
                                                         umin.  */
                                                      return 326;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110111xxxxx1x001110xxx
                                                         facge.  */
                                                      return 344;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110111xxxxx1x101110xxx
                                                         facgt.  */
                                                      return 358;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  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 >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx100011100xx
                                                                 and.  */
                                                              return 299;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx100011101xx
                                                                 eor.  */
                                                              return 350;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx101011100xx
                                                                 orr.  */
                                                              return 311;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx101011101xx
                                                                 bit.  */
                                                              return 362;
                                                            }
                                                        }
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx110011100xx
                                                                 bic.  */
                                                              return 300;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx110011101xx
                                                                 bsl.  */
                                                              return 351;
                                                            }
                                                        }
                                                      else
                                                        {
                                                          if (((word >> 29) & 0x1) == 0)
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx111011100xx
                                                                 orn.  */
                                                              return 313;
                                                            }
                                                          else
                                                            {
                                                              /* 33222222222211111111110000000000
                                                                 10987654321098765432109876543210
                                                                 xxxxxxxxxx111000xxxxx111011101xx
                                                                 bif.  */
                                                              return 363;
                                                            }
                                                        }
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111001xxxxx1xx011100xx
                                                         mul.  */
                                                      return 280;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111001xxxxx1xx011101xx
                                                         pmul.  */
                                                      return 332;
                                                    }
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111010xxxxx1xx011100xx
                                                         sqrshl.  */
                                                      return 272;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111010xxxxx1xx011101xx
                                                         uqrshl.  */
                                                      return 324;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111011xxxxx1xx011100xx
                                                         fmulx.  */
                                                      return 291;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111011xxxxx1xx011101xx
                                                         fmul.  */
                                                      return 340;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111100xxxxx1xx011100xx
                                                         cmge.  */
                                                      return 268;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111100xxxxx1xx011101xx
                                                         cmhs.  */
                                                      return 320;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx111101xxxxx1xx01110xxx
                                                     addp.  */
                                                  return 284;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 15) & 0x1) == 0)
                                                {
                                                  if (((word >> 29) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111110xxxxx1xx011100xx
                                                         saba.  */
                                                      return 276;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111110xxxxx1xx011101xx
                                                         uaba.  */
                                                      return 328;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      if (((word >> 29) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx111111xxxxx1x0011100xx
                                                             frecps.  */
                                                          return 297;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx111111xxxxx1x0011101xx
                                                             fdiv.  */
                                                          return 348;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx111111xxxxx1x101110xxx
                                                         frsqrts.  */
                                                      return 309;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 30) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx11xxxxxxxxx1xx0111100x
                                             fcsel.  */
                                          return 850;
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      if (((word >> 15) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx110000xxxxx1xx0111101x
                                                             sqadd.  */
                                                          return 542;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx110001xxxxx1xx0111101x
                                                             cmtst.  */
                                                          return 560;
                                                        }
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11001xxxxxx1xx0111101x
                                                         sqshl.  */
                                                      return 544;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1101xxxxxxx1xx0111101x
                                                     sqsub.  */
                                                  return 543;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 13) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1110x0xxxxx1xx0111101x
                                                         sqrshl.  */
                                                      return 545;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx1110x1xxxxx1xx0111101x
                                                         fmulx.  */
                                                      return 547;
                                                    }
                                                }
                                              else
                                                {
                                                  if (((word >> 14) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11110xxxxxx1xx0111101x
                                                         cmge.  */
                                                      return 556;
                                                    }
                                                  else
                                                    {
                                                      if (((word >> 23) & 0x1) == 0)
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx11111xxxxxx1x00111101x
                                                             frecps.  */
                                                          return 551;
                                                        }
                                                      else
                                                        {
                                                          /* 33222222222211111111110000000000
                                                             10987654321098765432109876543210
                                                             xxxxxxxxxx11111xxxxxx1x10111101x
                                                             frsqrts.  */
                                                          return 553;
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 15) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110000xxxxx1xx011111xx
                                                         uqadd.  */
                                                      return 561;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx110001xxxxx1xx011111xx
                                                         cmeq.  */
                                                      return 581;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx11001xxxxxx1xx011111xx
                                                     uqshl.  */
                                                  return 563;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx11010xxxxxx1xx011111xx
                                                     uqsub.  */
                                                  return 562;
                                                }
                                              else
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11011xxxxxx1x0011111xx
                                                         facge.  */
                                                      return 568;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx11011xxxxxx1x1011111xx
                                                         facgt.  */
                                                      return 574;
                                                    }
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1110xxxxxxx1xx011111xx
                                                 uqrshl.  */
                                              return 564;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1111xxxxxxx1xx011111xx
                                                 cmhs.  */
                                              return 577;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
              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)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx0x0000xxxxxxxx11110xxx
                                             mla.  */
                                          return 117;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx0x0010xxxxxxxx11110xxx
                                             mls.  */
                                          return 120;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0100xxxxxxxx1111000x
                                                     smlal.  */
                                                  return 96;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0100xxxxxxxx1111001x
                                                     smlal2.  */
                                                  return 97;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0100xxxxxxxx1111010x
                                                     umlal.  */
                                                  return 118;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0100xxxxxxxx1111011x
                                                     umlal2.  */
                                                  return 119;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0110xxxxxxxx1111000x
                                                     smlsl.  */
                                                  return 100;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0110xxxxxxxx1111001x
                                                     smlsl2.  */
                                                  return 101;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0110xxxxxxxx1111010x
                                                     umlsl.  */
                                                  return 121;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x0110xxxxxxxx1111011x
                                                     umlsl2.  */
                                                  return 122;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1000xxxxxxx0111100xx
                                                     fmla.  */
                                                  return 112;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1000xxxxxxx1111100xx
                                                     fmla.  */
                                                  return 111;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1010xxxxxxx0111100xx
                                                     fmls.  */
                                                  return 114;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1010xxxxxxx1111100xx
                                                     fmls.  */
                                                  return 113;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1100xxxxxxxx1111000x
                                                     sqdmlal.  */
                                                  return 98;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1100xxxxxxxx1111001x
                                                     sqdmlal2.  */
                                                  return 99;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1110xxxxxxxx1111000x
                                                     sqdmlsl.  */
                                                  return 102;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1110xxxxxxxx1111001x
                                                     sqdmlsl2.  */
                                                  return 103;
                                                }
                                            }
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx0x1xx0xxxxxxxx111101xx
                                         fcmla.  */
                                      return 129;
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 12) & 0x1) == 0)
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1x0xx0xxxxxxxx111100xx
                                         movi.  */
                                      return 131;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1x0xx0xxxxxxxx111101xx
                                         mvni.  */
                                      return 139;
                                    }
                                }
                              else
                                {
                                  if (((word >> 29) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1x1xx0xxxxxxxx111100xx
                                         orr.  */
                                      return 132;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx1x1xx0xxxxxxxx111101xx
                                         bic.  */
                                      return 140;
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxx0xxxxx0xx1111100x
                                         fmadd.  */
                                      return 840;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxx0xxxxx1xx1111100x
                                         fnmadd.  */
                                      return 844;
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0xx000xxxxxxx01111101x
                                                     fmla.  */
                                                  return 425;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0xx000xxxxxxx11111101x
                                                     fmla.  */
                                                  return 424;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 23) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0xx010xxxxxxx01111101x
                                                     fmls.  */
                                                  return 427;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0xx010xxxxxxx11111101x
                                                     fmls.  */
                                                  return 426;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 14) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0xx100xxxxxxxx1111101x
                                                 sqdmlal.  */
                                              return 419;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0xx110xxxxxxxx1111101x
                                                 sqdmlsl.  */
                                              return 420;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1x00x0xxxxxxxx1111101x
                                                 sshr.  */
                                              return 584;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1x01x0xxxxxxxx1111101x
                                                 srshr.  */
                                              return 586;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1x1000xxxxxxxx1111101x
                                                     ssra.  */
                                                  return 585;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1x1010xxxxxxxx1111101x
                                                     shl.  */
                                                  return 588;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1x1100xxxxxxxx1111101x
                                                     srsra.  */
                                                  return 587;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1x1110xxxxxxxx1111101x
                                                     sqshl.  */
                                                  return 589;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 12) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx0000xxxxxxxx111111xx
                                             ushr.  */
                                          return 596;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx0010xxxxxxxx111111xx
                                             sri.  */
                                          return 600;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx0100xxxxxxxx111111xx
                                             urshr.  */
                                          return 598;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx0110xxxxxxxx111111xx
                                             sqshlu.  */
                                          return 602;
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx1000xxxxxxxx111111xx
                                             usra.  */
                                          return 597;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx1010xxxxxxxx111111xx
                                             sli.  */
                                          return 601;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx1100xxxxxxxx111111xx
                                             ursra.  */
                                          return 599;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxxxx1110xxxxxxxx111111xx
                                             uqshl.  */
                                          return 603;
                                        }
                                    }
                                }
                            }
                        }
                    }
                  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)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx0x0001xxxxxxxx11110xxx
                                             mul.  */
                                          return 104;
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx0x0011xxxxxxxx11110xxx
                                             sqdmulh.  */
                                          return 109;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x01x1xxxxxxxx1111000x
                                                 smull.  */
                                              return 105;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x01x1xxxxxxxx1111001x
                                                 smull2.  */
                                              return 106;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x01x1xxxxxxxx1111010x
                                                 umull.  */
                                              return 123;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x01x1xxxxxxxx1111011x
                                                 umull2.  */
                                              return 124;
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1001xxxxxxx0111100xx
                                                     fmul.  */
                                                  return 116;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1001xxxxxxx0111101xx
                                                     fmulx.  */
                                                  return 126;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1001xxxxxxx1111100xx
                                                     fmul.  */
                                                  return 115;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1001xxxxxxx1111101xx
                                                     fmulx.  */
                                                  return 125;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x1011xxxxxxxx111100xx
                                                 sqrdmulh.  */
                                              return 110;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x1011xxxxxxxx111101xx
                                                 sqrdmlah.  */
                                              return 127;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x1101xxxxxxxx11110x0x
                                                 sqdmull.  */
                                              return 107;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x1101xxxxxxxx11110x1x
                                                 sqdmull2.  */
                                              return 108;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx0x1111xxxxxxxx11110xxx
                                             sqrdmlsh.  */
                                          return 128;
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 11) & 0x1) == 0)
                                {
                                  if (((word >> 14) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx100x01xxxxxxxx111100xx
                                                 movi.  */
                                              return 133;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx100x01xxxxxxxx111101xx
                                                 mvni.  */
                                              return 141;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx101x01xxxxxxxx111100xx
                                                 orr.  */
                                              return 134;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx101x01xxxxxxxx111101xx
                                                 bic.  */
                                              return 142;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx10x011xxxxxxxx111100xx
                                                 movi.  */
                                              return 135;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx10x011xxxxxxxx111101xx
                                                 mvni.  */
                                              return 143;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx100111xxxxxxxx111100xx
                                                     movi.  */
                                                  return 136;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx100111xxxxxxxx111101xx
                                                     movi.  */
                                                  return 144;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 29) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx101111xxxxxxxx111100xx
                                                     fmov.  */
                                                  return 137;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx101111xxxxxxxx111101xx
                                                     fmov.  */
                                                  return 146;
                                                }
                                            }
                                        }
                                    }
                                }
                              else
                                {
                                  if (((word >> 12) & 0x1) == 0)
                                    {
                                      if (((word >> 29) & 0x1) == 0)
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx110xx1xxxxxxxx1111000x
                                                 rshrn.  */
                                              return 376;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx110xx1xxxxxxxx1111001x
                                                 rshrn2.  */
                                              return 377;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 30) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx110xx1xxxxxxxx1111010x
                                                 sqrshrun.  */
                                              return 400;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx110xx1xxxxxxxx1111011x
                                                 sqrshrun2.  */
                                              return 401;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 13) & 0x1) == 0)
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1110x1xxxxxxxx1111000x
                                                     sqrshrn.  */
                                                  return 380;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1110x1xxxxxxxx1111001x
                                                     sqrshrn2.  */
                                                  return 381;
                                                }
                                            }
                                          else
                                            {
                                              if (((word >> 30) & 0x1) == 0)
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1110x1xxxxxxxx1111010x
                                                     uqrshrn.  */
                                                  return 404;
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx1110x1xxxxxxxx1111011x
                                                     uqrshrn2.  */
                                                  return 405;
                                                }
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 29) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1111x1xxxxxxxx111100xx
                                                 fmov.  */
                                              return 138;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1111x1xxxxxxxx111101xx
                                                 fcvtzu.  */
                                              return 412;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                      else
                        {
                          if (((word >> 29) & 0x1) == 0)
                            {
                              if (((word >> 30) & 0x1) == 0)
                                {
                                  if (((word >> 21) & 0x1) == 0)
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxx1xxxxx0xx1111100x
                                         fmsub.  */
                                      return 842;
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxxxxxxx1xxxxx1xx1111100x
                                         fnmsub.  */
                                      return 846;
                                    }
                                }
                              else
                                {
                                  if (((word >> 10) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx0x0xx1xxxxxxxx1111101x
                                             sqdmulh.  */
                                          return 422;
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              if (((word >> 14) & 0x1) == 0)
                                                {
                                                  if (((word >> 23) & 0x1) == 0)
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0x1001xxxxxxx01111101x
                                                         fmul.  */
                                                      return 429;
                                                    }
                                                  else
                                                    {
                                                      /* 33222222222211111111110000000000
                                                         10987654321098765432109876543210
                                                         xxxxxxxxxx0x1001xxxxxxx11111101x
                                                         fmul.  */
                                                      return 428;
                                                    }
                                                }
                                              else
                                                {
                                                  /* 33222222222211111111110000000000
                                                     10987654321098765432109876543210
                                                     xxxxxxxxxx0x1011xxxxxxxx1111101x
                                                     sqrdmulh.  */
                                                  return 423;
                                                }
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0x11x1xxxxxxxx1111101x
                                                 sqdmull.  */
                                              return 421;
                                            }
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 11) & 0x1) == 0)
                                        {
                                          if (((word >> 12) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx100xx1xxxxxxxx1111101x
                                                 scvtf.  */
                                              return 592;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx101xx1xxxxxxxx1111101x
                                                 sqshrn.  */
                                              return 590;
                                            }
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx11x0x1xxxxxxxx1111101x
                                                 sqrshrn.  */
                                              return 591;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx11x1x1xxxxxxxx1111101x
                                                 fcvtzs.  */
                                              return 594;
                                            }
                                        }
                                    }
                                }
                            }
                          else
                            {
                              if (((word >> 10) & 0x1) == 0)
                                {
                                  if (((word >> 13) & 0x1) == 0)
                                    {
                                      if (((word >> 14) & 0x1) == 0)
                                        {
                                          if (((word >> 23) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0xx001xxxxxxx0111111xx
                                                 fmulx.  */
                                              return 431;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx0xx001xxxxxxx1111111xx
                                                 fmulx.  */
                                              return 430;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx0xx011xxxxxxxx111111xx
                                             sqrdmlah.  */
                                          return 432;
                                        }
                                    }
                                  else
                                    {
                                      /* 33222222222211111111110000000000
                                         10987654321098765432109876543210
                                         xxxxxxxxxx0xx1x1xxxxxxxx111111xx
                                         sqrdmlsh.  */
                                      return 433;
                                    }
                                }
                              else
                                {
                                  if (((word >> 11) & 0x1) == 0)
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1000x1xxxxxxxx111111xx
                                                 sqshrun.  */
                                              return 604;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1001x1xxxxxxxx111111xx
                                                 ucvtf.  */
                                              return 608;
                                            }
                                        }
                                      else
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx101xx1xxxxxxxx111111xx
                                             uqshrn.  */
                                          return 606;
                                        }
                                    }
                                  else
                                    {
                                      if (((word >> 12) & 0x1) == 0)
                                        {
                                          /* 33222222222211111111110000000000
                                             10987654321098765432109876543210
                                             xxxxxxxxxx110xx1xxxxxxxx111111xx
                                             sqrshrun.  */
                                          return 605;
                                        }
                                      else
                                        {
                                          if (((word >> 13) & 0x1) == 0)
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1110x1xxxxxxxx111111xx
                                                 uqrshrn.  */
                                              return 607;
                                            }
                                          else
                                            {
                                              /* 33222222222211111111110000000000
                                                 10987654321098765432109876543210
                                                 xxxxxxxxxx1111x1xxxxxxxx111111xx
                                                 fcvtzu.  */
                                              return 610;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

/* 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 941: value = 945; break;	/* stnp --> stp.  */
    case 945: return NULL;		/* stp --> NULL.  */
    case 939: value = 940; break;	/* stllrb --> stllrh.  */
    case 940: return NULL;		/* stllrh --> NULL.  */
    case 942: value = 946; break;	/* ldnp --> ldp.  */
    case 946: return NULL;		/* ldp --> NULL.  */
    case 1157: value = 1158; break;	/* msr --> hint.  */
    case 1158: value = 1172; break;	/* hint --> clrex.  */
    case 1172: value = 1173; break;	/* clrex --> dsb.  */
    case 1173: value = 1174; break;	/* dsb --> dmb.  */
    case 1174: value = 1175; break;	/* dmb --> isb.  */
    case 1175: value = 1176; break;	/* isb --> sys.  */
    case 1176: value = 1181; break;	/* sys --> msr.  */
    case 1181: return NULL;		/* msr --> NULL.  */
    case 1182: value = 1183; break;	/* sysl --> mrs.  */
    case 1183: return NULL;		/* mrs --> NULL.  */
    case 434: value = 435; break;	/* st4 --> st1.  */
    case 435: value = 436; break;	/* st1 --> st2.  */
    case 436: value = 437; break;	/* st2 --> st3.  */
    case 437: return NULL;		/* st3 --> NULL.  */
    case 442: value = 443; break;	/* st4 --> st1.  */
    case 443: value = 444; break;	/* st1 --> st2.  */
    case 444: value = 445; break;	/* st2 --> st3.  */
    case 445: return NULL;		/* st3 --> NULL.  */
    case 438: value = 439; break;	/* ld4 --> ld1.  */
    case 439: value = 440; break;	/* ld1 --> ld2.  */
    case 440: value = 441; break;	/* ld2 --> ld3.  */
    case 441: return NULL;		/* ld3 --> NULL.  */
    case 454: value = 456; break;	/* ld1 --> ld1r.  */
    case 456: return NULL;		/* ld1r --> NULL.  */
    case 458: value = 460; break;	/* ld2 --> ld2r.  */
    case 460: return NULL;		/* ld2r --> NULL.  */
    case 455: value = 457; break;	/* ld3 --> ld3r.  */
    case 457: return NULL;		/* ld3r --> NULL.  */
    case 459: value = 461; break;	/* ld4 --> ld4r.  */
    case 461: return NULL;		/* ld4r --> NULL.  */
    case 446: value = 447; break;	/* ld4 --> ld1.  */
    case 447: value = 448; break;	/* ld1 --> ld2.  */
    case 448: value = 449; break;	/* ld2 --> ld3.  */
    case 449: return NULL;		/* ld3 --> NULL.  */
    case 466: value = 468; break;	/* ld1 --> ld1r.  */
    case 468: return NULL;		/* ld1r --> NULL.  */
    case 467: value = 469; break;	/* ld3 --> ld3r.  */
    case 469: return NULL;		/* ld3r --> NULL.  */
    case 470: value = 472; break;	/* ld2 --> ld2r.  */
    case 472: return NULL;		/* ld2r --> NULL.  */
    case 471: value = 473; break;	/* ld4 --> ld4r.  */
    case 473: return NULL;		/* ld4r --> NULL.  */
    case 752: value = 753; break;	/* fcvtzs --> fcvtzs.  */
    case 753: return NULL;		/* fcvtzs --> NULL.  */
    case 748: value = 749; break;	/* scvtf --> scvtf.  */
    case 749: return NULL;		/* scvtf --> NULL.  */
    case 754: value = 755; break;	/* fcvtzu --> fcvtzu.  */
    case 755: return NULL;		/* fcvtzu --> NULL.  */
    case 750: value = 751; break;	/* ucvtf --> ucvtf.  */
    case 751: return NULL;		/* ucvtf --> NULL.  */
    case 756: value = 757; break;	/* fcvtns --> fcvtns.  */
    case 757: return NULL;		/* fcvtns --> NULL.  */
    case 776: value = 777; break;	/* fcvtms --> fcvtms.  */
    case 777: return NULL;		/* fcvtms --> NULL.  */
    case 772: value = 773; break;	/* fcvtps --> fcvtps.  */
    case 773: return NULL;		/* fcvtps --> NULL.  */
    case 780: value = 781; break;	/* fcvtzs --> fcvtzs.  */
    case 781: return NULL;		/* fcvtzs --> NULL.  */
    case 764: value = 765; break;	/* fcvtas --> fcvtas.  */
    case 765: return NULL;		/* fcvtas --> NULL.  */
    case 760: value = 761; break;	/* scvtf --> scvtf.  */
    case 761: return NULL;		/* scvtf --> NULL.  */
    case 768: value = 769; break;	/* fmov --> fmov.  */
    case 769: return NULL;		/* fmov --> NULL.  */
    case 758: value = 759; break;	/* fcvtnu --> fcvtnu.  */
    case 759: return NULL;		/* fcvtnu --> NULL.  */
    case 778: value = 779; break;	/* fcvtmu --> fcvtmu.  */
    case 779: return NULL;		/* fcvtmu --> NULL.  */
    case 774: value = 775; break;	/* fcvtpu --> fcvtpu.  */
    case 775: return NULL;		/* fcvtpu --> NULL.  */
    case 782: value = 783; break;	/* fcvtzu --> fcvtzu.  */
    case 783: return NULL;		/* fcvtzu --> NULL.  */
    case 766: value = 767; break;	/* fcvtau --> fcvtau.  */
    case 767: return NULL;		/* fcvtau --> NULL.  */
    case 762: value = 763; break;	/* ucvtf --> ucvtf.  */
    case 763: return NULL;		/* ucvtf --> NULL.  */
    case 770: value = 771; break;	/* fmov --> fmov.  */
    case 771: return NULL;		/* fmov --> NULL.  */
    case 799: value = 800; break;	/* fmov --> fmov.  */
    case 800: return NULL;		/* fmov --> NULL.  */
    case 808: value = 809; break;	/* frintn --> frintn.  */
    case 809: return NULL;		/* frintn --> NULL.  */
    case 803: value = 804; break;	/* fneg --> fneg.  */
    case 804: return NULL;		/* fneg --> NULL.  */
    case 812: value = 813; break;	/* frintm --> frintm.  */
    case 813: return NULL;		/* frintm --> NULL.  */
    case 801: value = 802; break;	/* fabs --> fabs.  */
    case 802: return NULL;		/* fabs --> NULL.  */
    case 810: value = 811; break;	/* frintp --> frintp.  */
    case 811: return NULL;		/* frintp --> NULL.  */
    case 805: value = 806; break;	/* fsqrt --> fsqrt.  */
    case 806: return NULL;		/* fsqrt --> NULL.  */
    case 814: value = 815; break;	/* frintz --> frintz.  */
    case 815: return NULL;		/* frintz --> NULL.  */
    case 816: value = 817; break;	/* frinta --> frinta.  */
    case 817: return NULL;		/* frinta --> NULL.  */
    case 818: value = 819; break;	/* frintx --> frintx.  */
    case 819: return NULL;		/* frintx --> NULL.  */
    case 820: value = 821; break;	/* frinti --> frinti.  */
    case 821: return NULL;		/* frinti --> NULL.  */
    case 791: value = 792; break;	/* fcmp --> fcmp.  */
    case 792: return NULL;		/* fcmp --> NULL.  */
    case 793: value = 794; break;	/* fcmpe --> fcmpe.  */
    case 794: return NULL;		/* fcmpe --> NULL.  */
    case 795: value = 796; break;	/* fcmp --> fcmp.  */
    case 796: return NULL;		/* fcmp --> NULL.  */
    case 797: value = 798; break;	/* fcmpe --> fcmpe.  */
    case 798: return NULL;		/* fcmpe --> NULL.  */
    case 848: value = 849; break;	/* fmov --> fmov.  */
    case 849: return NULL;		/* fmov --> NULL.  */
    case 822: value = 823; break;	/* fmul --> fmul.  */
    case 823: return NULL;		/* fmul --> NULL.  */
    case 838: value = 839; break;	/* fnmul --> fnmul.  */
    case 839: return NULL;		/* fnmul --> NULL.  */
    case 830: value = 831; break;	/* fmax --> fmax.  */
    case 831: return NULL;		/* fmax --> NULL.  */
    case 826: value = 827; break;	/* fadd --> fadd.  */
    case 827: return NULL;		/* fadd --> NULL.  */
    case 834: value = 835; break;	/* fmaxnm --> fmaxnm.  */
    case 835: return NULL;		/* fmaxnm --> NULL.  */
    case 824: value = 825; break;	/* fdiv --> fdiv.  */
    case 825: return NULL;		/* fdiv --> NULL.  */
    case 832: value = 833; break;	/* fmin --> fmin.  */
    case 833: return NULL;		/* fmin --> NULL.  */
    case 828: value = 829; break;	/* fsub --> fsub.  */
    case 829: return NULL;		/* fsub --> NULL.  */
    case 836: value = 837; break;	/* fminnm --> fminnm.  */
    case 837: return NULL;		/* fminnm --> NULL.  */
    case 787: value = 788; break;	/* fccmp --> fccmp.  */
    case 788: return NULL;		/* fccmp --> NULL.  */
    case 789: value = 790; break;	/* fccmpe --> fccmpe.  */
    case 790: return NULL;		/* fccmpe --> NULL.  */
    case 850: value = 851; break;	/* fcsel --> fcsel.  */
    case 851: return NULL;		/* fcsel --> NULL.  */
    case 131: value = 368; break;	/* movi --> sshr.  */
    case 368: value = 370; break;	/* sshr --> srshr.  */
    case 370: return NULL;		/* srshr --> NULL.  */
    case 139: value = 390; break;	/* mvni --> ushr.  */
    case 390: value = 392; break;	/* ushr --> urshr.  */
    case 392: value = 394; break;	/* urshr --> sri.  */
    case 394: value = 396; break;	/* sri --> sqshlu.  */
    case 396: return NULL;		/* sqshlu --> NULL.  */
    case 132: value = 369; break;	/* orr --> ssra.  */
    case 369: value = 371; break;	/* ssra --> srsra.  */
    case 371: value = 372; break;	/* srsra --> shl.  */
    case 372: value = 373; break;	/* shl --> sqshl.  */
    case 373: return NULL;		/* sqshl --> NULL.  */
    case 140: value = 391; break;	/* bic --> usra.  */
    case 391: value = 393; break;	/* usra --> ursra.  */
    case 393: value = 395; break;	/* ursra --> sli.  */
    case 395: value = 397; break;	/* sli --> uqshl.  */
    case 397: return NULL;		/* uqshl --> NULL.  */
    case 840: value = 841; break;	/* fmadd --> fmadd.  */
    case 841: return NULL;		/* fmadd --> NULL.  */
    case 844: value = 845; break;	/* fnmadd --> fnmadd.  */
    case 845: return NULL;		/* fnmadd --> NULL.  */
    case 133: value = 374; break;	/* movi --> shrn.  */
    case 374: value = 375; break;	/* shrn --> shrn2.  */
    case 375: value = 382; break;	/* shrn2 --> sshll.  */
    case 382: value = 384; break;	/* sshll --> sshll2.  */
    case 384: return NULL;		/* sshll2 --> NULL.  */
    case 141: value = 398; break;	/* mvni --> sqshrun.  */
    case 398: value = 399; break;	/* sqshrun --> sqshrun2.  */
    case 399: value = 406; break;	/* sqshrun2 --> ushll.  */
    case 406: value = 408; break;	/* ushll --> ushll2.  */
    case 408: return NULL;		/* ushll2 --> NULL.  */
    case 134: value = 378; break;	/* orr --> sqshrn.  */
    case 378: value = 379; break;	/* sqshrn --> sqshrn2.  */
    case 379: return NULL;		/* sqshrn2 --> NULL.  */
    case 142: value = 402; break;	/* bic --> uqshrn.  */
    case 402: value = 403; break;	/* uqshrn --> uqshrn2.  */
    case 403: return NULL;		/* uqshrn2 --> NULL.  */
    case 136: value = 386; break;	/* movi --> scvtf.  */
    case 386: value = 387; break;	/* scvtf --> scvtf.  */
    case 387: return NULL;		/* scvtf --> NULL.  */
    case 144: value = 145; break;	/* movi --> movi.  */
    case 145: value = 410; break;	/* movi --> ucvtf.  */
    case 410: value = 411; break;	/* ucvtf --> ucvtf.  */
    case 411: return NULL;		/* ucvtf --> NULL.  */
    case 138: value = 388; break;	/* fmov --> fcvtzs.  */
    case 388: value = 389; break;	/* fcvtzs --> fcvtzs.  */
    case 389: return NULL;		/* fcvtzs --> NULL.  */
    case 412: value = 413; break;	/* fcvtzu --> fcvtzu.  */
    case 413: return NULL;		/* fcvtzu --> NULL.  */
    case 842: value = 843; break;	/* fmsub --> fmsub.  */
    case 843: return NULL;		/* fmsub --> NULL.  */
    case 846: value = 847; break;	/* fnmsub --> fnmsub.  */
    case 847: return NULL;		/* fnmsub --> NULL.  */
    case 592: value = 593; break;	/* scvtf --> scvtf.  */
    case 593: return NULL;		/* scvtf --> NULL.  */
    case 594: value = 595; break;	/* fcvtzs --> fcvtzs.  */
    case 595: return NULL;		/* fcvtzs --> NULL.  */
    case 608: value = 609; break;	/* ucvtf --> ucvtf.  */
    case 609: return NULL;		/* ucvtf --> NULL.  */
    case 610: value = 611; break;	/* fcvtzu --> fcvtzu.  */
    case 611: 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 20: value = 21; break;	/* adds --> cmn.  */
    case 22: value = 23; break;	/* sub --> neg.  */
    case 24: value = 26; break;	/* subs --> negs.  */
    case 150: value = 151; break;	/* umov --> mov.  */
    case 152: value = 153; break;	/* ins --> mov.  */
    case 154: value = 155; break;	/* ins --> mov.  */
    case 236: value = 237; break;	/* not --> mvn.  */
    case 311: value = 312; break;	/* orr --> mov.  */
    case 382: value = 383; break;	/* sshll --> sxtl.  */
    case 384: value = 385; break;	/* sshll2 --> sxtl2.  */
    case 406: value = 407; break;	/* ushll --> uxtl.  */
    case 408: value = 409; break;	/* ushll2 --> uxtl2.  */
    case 529: value = 530; break;	/* dup --> mov.  */
    case 612: value = 617; break;	/* sbfm --> sxtw.  */
    case 619: value = 621; break;	/* bfm --> bfc.  */
    case 623: value = 627; break;	/* ubfm --> uxth.  */
    case 657: value = 659; break;	/* csinc --> cset.  */
    case 660: value = 662; break;	/* csinv --> csetm.  */
    case 663: value = 664; break;	/* csneg --> cneg.  */
    case 682: value = 682; break;	/* rev --> rev.  */
    case 707: value = 708; break;	/* lslv --> lsl.  */
    case 709: value = 710; break;	/* lsrv --> lsr.  */
    case 711: value = 712; break;	/* asrv --> asr.  */
    case 713: value = 714; break;	/* rorv --> ror.  */
    case 724: value = 725; break;	/* madd --> mul.  */
    case 726: value = 727; break;	/* msub --> mneg.  */
    case 728: value = 729; break;	/* smaddl --> smull.  */
    case 730: value = 731; break;	/* smsubl --> smnegl.  */
    case 733: value = 734; break;	/* umaddl --> umull.  */
    case 735: value = 736; break;	/* umsubl --> umnegl.  */
    case 746: value = 747; break;	/* extr --> ror.  */
    case 959: value = 960; break;	/* and --> bic.  */
    case 961: value = 962; break;	/* orr --> mov.  */
    case 964: value = 965; break;	/* ands --> tst.  */
    case 968: value = 970; break;	/* orr --> uxtw.  */
    case 971: value = 972; break;	/* orn --> mvn.  */
    case 975: value = 976; break;	/* ands --> tst.  */
    case 1006: value = 1102; break;	/* ldaddb --> staddb.  */
    case 1007: value = 1103; break;	/* ldaddh --> staddh.  */
    case 1008: value = 1104; break;	/* ldadd --> stadd.  */
    case 1010: value = 1105; break;	/* ldaddlb --> staddlb.  */
    case 1013: value = 1106; break;	/* ldaddlh --> staddlh.  */
    case 1016: value = 1107; break;	/* ldaddl --> staddl.  */
    case 1018: value = 1108; break;	/* ldclrb --> stclrb.  */
    case 1019: value = 1109; break;	/* ldclrh --> stclrh.  */
    case 1020: value = 1110; break;	/* ldclr --> stclr.  */
    case 1022: value = 1111; break;	/* ldclrlb --> stclrlb.  */
    case 1025: value = 1112; break;	/* ldclrlh --> stclrlh.  */
    case 1028: value = 1113; break;	/* ldclrl --> stclrl.  */
    case 1030: value = 1114; break;	/* ldeorb --> steorb.  */
    case 1031: value = 1115; break;	/* ldeorh --> steorh.  */
    case 1032: value = 1116; break;	/* ldeor --> steor.  */
    case 1034: value = 1117; break;	/* ldeorlb --> steorlb.  */
    case 1037: value = 1118; break;	/* ldeorlh --> steorlh.  */
    case 1040: value = 1119; break;	/* ldeorl --> steorl.  */
    case 1042: value = 1120; break;	/* ldsetb --> stsetb.  */
    case 1043: value = 1121; break;	/* ldseth --> stseth.  */
    case 1044: value = 1122; break;	/* ldset --> stset.  */
    case 1046: value = 1123; break;	/* ldsetlb --> stsetlb.  */
    case 1049: value = 1124; break;	/* ldsetlh --> stsetlh.  */
    case 1052: value = 1125; break;	/* ldsetl --> stsetl.  */
    case 1054: value = 1126; break;	/* ldsmaxb --> stsmaxb.  */
    case 1055: value = 1127; break;	/* ldsmaxh --> stsmaxh.  */
    case 1056: value = 1128; break;	/* ldsmax --> stsmax.  */
    case 1058: value = 1129; break;	/* ldsmaxlb --> stsmaxlb.  */
    case 1061: value = 1130; break;	/* ldsmaxlh --> stsmaxlh.  */
    case 1064: value = 1131; break;	/* ldsmaxl --> stsmaxl.  */
    case 1066: value = 1132; break;	/* ldsminb --> stsminb.  */
    case 1067: value = 1133; break;	/* ldsminh --> stsminh.  */
    case 1068: value = 1134; break;	/* ldsmin --> stsmin.  */
    case 1070: value = 1135; break;	/* ldsminlb --> stsminlb.  */
    case 1073: value = 1136; break;	/* ldsminlh --> stsminlh.  */
    case 1076: value = 1137; break;	/* ldsminl --> stsminl.  */
    case 1078: value = 1138; break;	/* ldumaxb --> stumaxb.  */
    case 1079: value = 1139; break;	/* ldumaxh --> stumaxh.  */
    case 1080: value = 1140; break;	/* ldumax --> stumax.  */
    case 1082: value = 1141; break;	/* ldumaxlb --> stumaxlb.  */
    case 1085: value = 1142; break;	/* ldumaxlh --> stumaxlh.  */
    case 1088: value = 1143; break;	/* ldumaxl --> stumaxl.  */
    case 1090: value = 1144; break;	/* lduminb --> stuminb.  */
    case 1091: value = 1145; break;	/* lduminh --> stuminh.  */
    case 1092: value = 1146; break;	/* ldumin --> stumin.  */
    case 1094: value = 1147; break;	/* lduminlb --> stuminlb.  */
    case 1097: value = 1148; break;	/* lduminlh --> stuminlh.  */
    case 1100: value = 1149; break;	/* lduminl --> stuminl.  */
    case 1150: value = 1151; break;	/* movn --> mov.  */
    case 1152: value = 1153; break;	/* movz --> mov.  */
    case 1158: value = 1191; break;	/* hint --> autibsp.  */
    case 1176: value = 1180; break;	/* sys --> tlbi.  */
    case 1239: value = 1973; break;	/* and --> bic.  */
    case 1241: value = 1222; break;	/* and --> mov.  */
    case 1242: value = 1226; break;	/* ands --> movs.  */
    case 1277: value = 1974; break;	/* cmpge --> cmple.  */
    case 1280: value = 1977; break;	/* cmpgt --> cmplt.  */
    case 1282: value = 1975; break;	/* cmphi --> cmplo.  */
    case 1285: value = 1976; break;	/* cmphs --> cmpls.  */
    case 1307: value = 1219; break;	/* cpy --> mov.  */
    case 1308: value = 1221; break;	/* cpy --> mov.  */
    case 1309: value = 1984; break;	/* cpy --> fmov.  */
    case 1321: value = 1214; break;	/* dup --> mov.  */
    case 1322: value = 1216; break;	/* dup --> mov.  */
    case 1323: value = 1983; break;	/* dup --> fmov.  */
    case 1324: value = 1217; break;	/* dupm --> mov.  */
    case 1326: value = 1978; break;	/* eor --> eon.  */
    case 1328: value = 1227; break;	/* eor --> not.  */
    case 1329: value = 1228; break;	/* eors --> nots.  */
    case 1334: value = 1979; break;	/* facge --> facle.  */
    case 1335: value = 1980; break;	/* facgt --> faclt.  */
    case 1348: value = 1981; break;	/* fcmge --> fcmle.  */
    case 1350: value = 1982; break;	/* fcmgt --> fcmlt.  */
    case 1356: value = 1211; break;	/* fcpy --> fmov.  */
    case 1379: value = 1210; break;	/* fdup --> fmov.  */
    case 1694: value = 1212; break;	/* orr --> mov.  */
    case 1695: value = 1985; break;	/* orr --> orn.  */
    case 1697: value = 1215; break;	/* orr --> mov.  */
    case 1698: value = 1225; break;	/* orrs --> movs.  */
    case 1760: value = 1220; break;	/* sel --> mov.  */
    case 1761: value = 1223; break;	/* sel --> 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 21: value = 20; break;	/* cmn --> adds.  */
    case 23: value = 22; break;	/* neg --> sub.  */
    case 26: value = 25; break;	/* negs --> cmp.  */
    case 25: value = 24; break;	/* cmp --> subs.  */
    case 151: value = 150; break;	/* mov --> umov.  */
    case 153: value = 152; break;	/* mov --> ins.  */
    case 155: value = 154; break;	/* mov --> ins.  */
    case 237: value = 236; break;	/* mvn --> not.  */
    case 312: value = 311; break;	/* mov --> orr.  */
    case 383: value = 382; break;	/* sxtl --> sshll.  */
    case 385: value = 384; break;	/* sxtl2 --> sshll2.  */
    case 407: value = 406; break;	/* uxtl --> ushll.  */
    case 409: value = 408; break;	/* uxtl2 --> ushll2.  */
    case 530: value = 529; break;	/* mov --> dup.  */
    case 617: value = 616; break;	/* sxtw --> sxth.  */
    case 616: value = 615; break;	/* sxth --> sxtb.  */
    case 615: value = 618; break;	/* sxtb --> asr.  */
    case 618: value = 614; break;	/* asr --> sbfx.  */
    case 614: value = 613; break;	/* sbfx --> sbfiz.  */
    case 613: value = 612; break;	/* sbfiz --> sbfm.  */
    case 621: value = 622; break;	/* bfc --> bfxil.  */
    case 622: value = 620; break;	/* bfxil --> bfi.  */
    case 620: value = 619; break;	/* bfi --> bfm.  */
    case 627: value = 626; break;	/* uxth --> uxtb.  */
    case 626: value = 629; break;	/* uxtb --> lsr.  */
    case 629: value = 628; break;	/* lsr --> lsl.  */
    case 628: value = 625; break;	/* lsl --> ubfx.  */
    case 625: value = 624; break;	/* ubfx --> ubfiz.  */
    case 624: value = 623; break;	/* ubfiz --> ubfm.  */
    case 659: value = 658; break;	/* cset --> cinc.  */
    case 658: value = 657; break;	/* cinc --> csinc.  */
    case 662: value = 661; break;	/* csetm --> cinv.  */
    case 661: value = 660; break;	/* cinv --> csinv.  */
    case 664: value = 663; break;	/* cneg --> csneg.  */
    case 682: value = 683; break;	/* rev --> rev64.  */
    case 708: value = 707; break;	/* lsl --> lslv.  */
    case 710: value = 709; break;	/* lsr --> lsrv.  */
    case 712: value = 711; break;	/* asr --> asrv.  */
    case 714: value = 713; break;	/* ror --> rorv.  */
    case 725: value = 724; break;	/* mul --> madd.  */
    case 727: value = 726; break;	/* mneg --> msub.  */
    case 729: value = 728; break;	/* smull --> smaddl.  */
    case 731: value = 730; break;	/* smnegl --> smsubl.  */
    case 734: value = 733; break;	/* umull --> umaddl.  */
    case 736: value = 735; break;	/* umnegl --> umsubl.  */
    case 747: value = 746; break;	/* ror --> extr.  */
    case 960: value = 959; break;	/* bic --> and.  */
    case 962: value = 961; break;	/* mov --> orr.  */
    case 965: value = 964; break;	/* tst --> ands.  */
    case 970: value = 969; break;	/* uxtw --> mov.  */
    case 969: value = 968; break;	/* mov --> orr.  */
    case 972: value = 971; break;	/* mvn --> orn.  */
    case 976: value = 975; break;	/* tst --> ands.  */
    case 1102: value = 1006; break;	/* staddb --> ldaddb.  */
    case 1103: value = 1007; break;	/* staddh --> ldaddh.  */
    case 1104: value = 1008; break;	/* stadd --> ldadd.  */
    case 1105: value = 1010; break;	/* staddlb --> ldaddlb.  */
    case 1106: value = 1013; break;	/* staddlh --> ldaddlh.  */
    case 1107: value = 1016; break;	/* staddl --> ldaddl.  */
    case 1108: value = 1018; break;	/* stclrb --> ldclrb.  */
    case 1109: value = 1019; break;	/* stclrh --> ldclrh.  */
    case 1110: value = 1020; break;	/* stclr --> ldclr.  */
    case 1111: value = 1022; break;	/* stclrlb --> ldclrlb.  */
    case 1112: value = 1025; break;	/* stclrlh --> ldclrlh.  */
    case 1113: value = 1028; break;	/* stclrl --> ldclrl.  */
    case 1114: value = 1030; break;	/* steorb --> ldeorb.  */
    case 1115: value = 1031; break;	/* steorh --> ldeorh.  */
    case 1116: value = 1032; break;	/* steor --> ldeor.  */
    case 1117: value = 1034; break;	/* steorlb --> ldeorlb.  */
    case 1118: value = 1037; break;	/* steorlh --> ldeorlh.  */
    case 1119: value = 1040; break;	/* steorl --> ldeorl.  */
    case 1120: value = 1042; break;	/* stsetb --> ldsetb.  */
    case 1121: value = 1043; break;	/* stseth --> ldseth.  */
    case 1122: value = 1044; break;	/* stset --> ldset.  */
    case 1123: value = 1046; break;	/* stsetlb --> ldsetlb.  */
    case 1124: value = 1049; break;	/* stsetlh --> ldsetlh.  */
    case 1125: value = 1052; break;	/* stsetl --> ldsetl.  */
    case 1126: value = 1054; break;	/* stsmaxb --> ldsmaxb.  */
    case 1127: value = 1055; break;	/* stsmaxh --> ldsmaxh.  */
    case 1128: value = 1056; break;	/* stsmax --> ldsmax.  */
    case 1129: value = 1058; break;	/* stsmaxlb --> ldsmaxlb.  */
    case 1130: value = 1061; break;	/* stsmaxlh --> ldsmaxlh.  */
    case 1131: value = 1064; break;	/* stsmaxl --> ldsmaxl.  */
    case 1132: value = 1066; break;	/* stsminb --> ldsminb.  */
    case 1133: value = 1067; break;	/* stsminh --> ldsminh.  */
    case 1134: value = 1068; break;	/* stsmin --> ldsmin.  */
    case 1135: value = 1070; break;	/* stsminlb --> ldsminlb.  */
    case 1136: value = 1073; break;	/* stsminlh --> ldsminlh.  */
    case 1137: value = 1076; break;	/* stsminl --> ldsminl.  */
    case 1138: value = 1078; break;	/* stumaxb --> ldumaxb.  */
    case 1139: value = 1079; break;	/* stumaxh --> ldumaxh.  */
    case 1140: value = 1080; break;	/* stumax --> ldumax.  */
    case 1141: value = 1082; break;	/* stumaxlb --> ldumaxlb.  */
    case 1142: value = 1085; break;	/* stumaxlh --> ldumaxlh.  */
    case 1143: value = 1088; break;	/* stumaxl --> ldumaxl.  */
    case 1144: value = 1090; break;	/* stuminb --> lduminb.  */
    case 1145: value = 1091; break;	/* stuminh --> lduminh.  */
    case 1146: value = 1092; break;	/* stumin --> ldumin.  */
    case 1147: value = 1094; break;	/* stuminlb --> lduminlb.  */
    case 1148: value = 1097; break;	/* stuminlh --> lduminlh.  */
    case 1149: value = 1100; break;	/* stuminl --> lduminl.  */
    case 1151: value = 1150; break;	/* mov --> movn.  */
    case 1153: value = 1152; break;	/* mov --> movz.  */
    case 1191: value = 1190; break;	/* autibsp --> autibz.  */
    case 1190: value = 1189; break;	/* autibz --> autiasp.  */
    case 1189: value = 1188; break;	/* autiasp --> autiaz.  */
    case 1188: value = 1187; break;	/* autiaz --> pacibsp.  */
    case 1187: value = 1186; break;	/* pacibsp --> pacibz.  */
    case 1186: value = 1185; break;	/* pacibz --> paciasp.  */
    case 1185: value = 1184; break;	/* paciasp --> paciaz.  */
    case 1184: value = 1171; break;	/* paciaz --> psb.  */
    case 1171: value = 1170; break;	/* psb --> esb.  */
    case 1170: value = 1169; break;	/* esb --> autib1716.  */
    case 1169: value = 1168; break;	/* autib1716 --> autia1716.  */
    case 1168: value = 1167; break;	/* autia1716 --> pacib1716.  */
    case 1167: value = 1166; break;	/* pacib1716 --> pacia1716.  */
    case 1166: value = 1165; break;	/* pacia1716 --> xpaclri.  */
    case 1165: value = 1164; break;	/* xpaclri --> sevl.  */
    case 1164: value = 1163; break;	/* sevl --> sev.  */
    case 1163: value = 1162; break;	/* sev --> wfi.  */
    case 1162: value = 1161; break;	/* wfi --> wfe.  */
    case 1161: value = 1160; break;	/* wfe --> yield.  */
    case 1160: value = 1159; break;	/* yield --> nop.  */
    case 1159: value = 1158; break;	/* nop --> hint.  */
    case 1180: value = 1179; break;	/* tlbi --> ic.  */
    case 1179: value = 1178; break;	/* ic --> dc.  */
    case 1178: value = 1177; break;	/* dc --> at.  */
    case 1177: value = 1176; break;	/* at --> sys.  */
    case 1973: value = 1239; break;	/* bic --> and.  */
    case 1222: value = 1241; break;	/* mov --> and.  */
    case 1226: value = 1242; break;	/* movs --> ands.  */
    case 1974: value = 1277; break;	/* cmple --> cmpge.  */
    case 1977: value = 1280; break;	/* cmplt --> cmpgt.  */
    case 1975: value = 1282; break;	/* cmplo --> cmphi.  */
    case 1976: value = 1285; break;	/* cmpls --> cmphs.  */
    case 1219: value = 1307; break;	/* mov --> cpy.  */
    case 1221: value = 1308; break;	/* mov --> cpy.  */
    case 1984: value = 1224; break;	/* fmov --> mov.  */
    case 1224: value = 1309; break;	/* mov --> cpy.  */
    case 1214: value = 1321; break;	/* mov --> dup.  */
    case 1216: value = 1213; break;	/* mov --> mov.  */
    case 1213: value = 1322; break;	/* mov --> dup.  */
    case 1983: value = 1218; break;	/* fmov --> mov.  */
    case 1218: value = 1323; break;	/* mov --> dup.  */
    case 1217: value = 1324; break;	/* mov --> dupm.  */
    case 1978: value = 1326; break;	/* eon --> eor.  */
    case 1227: value = 1328; break;	/* not --> eor.  */
    case 1228: value = 1329; break;	/* nots --> eors.  */
    case 1979: value = 1334; break;	/* facle --> facge.  */
    case 1980: value = 1335; break;	/* faclt --> facgt.  */
    case 1981: value = 1348; break;	/* fcmle --> fcmge.  */
    case 1982: value = 1350; break;	/* fcmlt --> fcmgt.  */
    case 1211: value = 1356; break;	/* fmov --> fcpy.  */
    case 1210: value = 1379; break;	/* fmov --> fdup.  */
    case 1212: value = 1694; break;	/* mov --> orr.  */
    case 1985: value = 1695; break;	/* orn --> orr.  */
    case 1215: value = 1697; break;	/* mov --> orr.  */
    case 1225: value = 1698; break;	/* movs --> orrs.  */
    case 1220: value = 1760; break;	/* mov --> sel.  */
    case 1223: value = 1761; break;	/* mov --> sel.  */
    default: return NULL;
    }

  return aarch64_opcode_table + value;
}

int
aarch64_extract_operand (const aarch64_operand *self,
			   aarch64_opnd_info *info,
			   aarch64_insn code, const aarch64_inst *inst)
{
  /* Use the index as the key.  */
  int key = self - aarch64_operands;
  switch (key)
    {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 9:
    case 10:
    case 11:
    case 15:
    case 16:
    case 17:
    case 18:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
    case 25:
    case 26:
    case 27:
    case 28:
    case 147:
    case 148:
    case 149:
    case 150:
    case 151:
    case 152:
    case 153:
    case 154:
    case 155:
    case 156:
    case 169:
    case 170:
    case 171:
    case 172:
    case 173:
    case 174:
    case 175:
    case 176:
    case 177:
    case 181:
    case 184:
      return aarch64_ext_regno (self, info, code, inst);
    case 8:
      return aarch64_ext_regrt_sysins (self, info, code, inst);
    case 12:
      return aarch64_ext_regno_pair (self, info, code, inst);
    case 13:
      return aarch64_ext_reg_extended (self, info, code, inst);
    case 14:
      return aarch64_ext_reg_shifted (self, info, code, inst);
    case 19:
      return aarch64_ext_ft (self, info, code, inst);
    case 29:
    case 30:
    case 31:
      return aarch64_ext_reglane (self, info, code, inst);
    case 32:
      return aarch64_ext_reglist (self, info, code, inst);
    case 33:
      return aarch64_ext_ldst_reglist (self, info, code, inst);
    case 34:
      return aarch64_ext_ldst_reglist_r (self, info, code, inst);
    case 35:
      return aarch64_ext_ldst_elemlist (self, info, code, inst);
    case 36:
    case 37:
    case 38:
    case 48:
    case 49:
    case 50:
    case 51:
    case 52:
    case 53:
    case 54:
    case 55:
    case 56:
    case 57:
    case 58:
    case 59:
    case 60:
    case 71:
    case 72:
    case 73:
    case 74:
    case 75:
    case 144:
    case 146:
    case 161:
    case 162:
    case 163:
    case 164:
    case 165:
    case 166:
    case 167:
    case 168:
      return aarch64_ext_imm (self, info, code, inst);
    case 39:
    case 40:
      return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
    case 41:
    case 42:
    case 43:
      return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
    case 44:
      return aarch64_ext_shll_imm (self, info, code, inst);
    case 47:
    case 135:
      return aarch64_ext_fpimm (self, info, code, inst);
    case 61:
    case 142:
      return aarch64_ext_limm (self, info, code, inst);
    case 62:
      return aarch64_ext_aimm (self, info, code, inst);
    case 63:
      return aarch64_ext_imm_half (self, info, code, inst);
    case 64:
      return aarch64_ext_fbits (self, info, code, inst);
    case 66:
    case 67:
    case 140:
      return aarch64_ext_imm_rotate2 (self, info, code, inst);
    case 68:
    case 139:
      return aarch64_ext_imm_rotate1 (self, info, code, inst);
    case 69:
    case 70:
      return aarch64_ext_cond (self, info, code, inst);
    case 76:
    case 83:
      return aarch64_ext_addr_simple (self, info, code, inst);
    case 77:
      return aarch64_ext_addr_regoff (self, info, code, inst);
    case 78:
    case 79:
    case 80:
      return aarch64_ext_addr_simm (self, info, code, inst);
    case 81:
      return aarch64_ext_addr_simm10 (self, info, code, inst);
    case 82:
      return aarch64_ext_addr_uimm12 (self, info, code, inst);
    case 84:
      return aarch64_ext_simd_addr_post (self, info, code, inst);
    case 85:
      return aarch64_ext_sysreg (self, info, code, inst);
    case 86:
      return aarch64_ext_pstatefield (self, info, code, inst);
    case 87:
    case 88:
    case 89:
    case 90:
      return aarch64_ext_sysins_op (self, info, code, inst);
    case 91:
    case 92:
      return aarch64_ext_barrier (self, info, code, inst);
    case 93:
      return aarch64_ext_prfop (self, info, code, inst);
    case 94:
      return aarch64_ext_hint (self, info, code, inst);
    case 95:
      return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst);
    case 96:
    case 97:
    case 98:
    case 99:
      return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst);
    case 100:
      return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst);
    case 101:
      return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst);
    case 102:
    case 103:
    case 104:
    case 105:
      return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst);
    case 106:
    case 107:
    case 108:
    case 109:
    case 110:
    case 111:
    case 112:
    case 113:
    case 114:
    case 115:
    case 116:
    case 117:
      return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst);
    case 118:
    case 119:
    case 120:
    case 121:
    case 122:
    case 123:
    case 124:
    case 125:
      return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst);
    case 126:
    case 127:
    case 128:
    case 129:
      return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst);
    case 130:
      return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst);
    case 131:
      return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst);
    case 132:
      return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst);
    case 133:
      return aarch64_ext_sve_aimm (self, info, code, inst);
    case 134:
      return aarch64_ext_sve_asimm (self, info, code, inst);
    case 136:
      return aarch64_ext_sve_float_half_one (self, info, code, inst);
    case 137:
      return aarch64_ext_sve_float_half_two (self, info, code, inst);
    case 138:
      return aarch64_ext_sve_float_zero_one (self, info, code, inst);
    case 141:
      return aarch64_ext_inv_limm (self, info, code, inst);
    case 143:
      return aarch64_ext_sve_limm_mov (self, info, code, inst);
    case 145:
      return aarch64_ext_sve_scale (self, info, code, inst);
    case 157:
    case 158:
      return aarch64_ext_sve_shlimm (self, info, code, inst);
    case 159:
    case 160:
      return aarch64_ext_sve_shrimm (self, info, code, inst);
    case 178:
    case 179:
    case 180:
      return aarch64_ext_sve_quad_index (self, info, code, inst);
    case 182:
      return aarch64_ext_sve_index (self, info, code, inst);
    case 183:
    case 185:
      return aarch64_ext_sve_reglist (self, info, code, inst);
    default: assert (0); abort ();
    }
}
